最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python大數(shù)據(jù)處理之matplotlib.pyplot初步使用

 更新時(shí)間:2025年08月20日 10:46:19   作者:qin_ling0407  
Matplotlib是Python中一個(gè)非常流行的數(shù)據(jù)可視化庫,它提供了豐富的繪圖工具,可以幫助我們輕松創(chuàng)建各種類型的圖表,這篇文章主要介紹了Python大數(shù)據(jù)處理之matplotlib.pyplot初步使用的相關(guān)資料,需要的朋友可以參考下

提示:本文只介紹了pyplot的使用,非matplotlib全部?jī)?nèi)容

前言

本文介紹了Matplotlib數(shù)據(jù)可視化庫的基本使用方法。主要內(nèi)容包括:

1) 通過pyplot.plot()繪制基礎(chǔ)圖表;

2) 常用API詳解,包括設(shè)置圖片大小(figure)、調(diào)整坐標(biāo)軸刻度(xticks)、中文顯示配置、添加圖表描述信息等;

3) 完整案例演示三天氣溫變化折線圖的繪制過程,涵蓋數(shù)據(jù)生成、圖表樣式設(shè)置、坐標(biāo)軸調(diào)整、圖例添加等關(guān)鍵步驟。

一、matplotlib

 matplotlib能將數(shù)據(jù)可視化,更直觀的呈現(xiàn);

使數(shù)據(jù)更加客觀、更具說服力;

中文參考文檔:

matplotlib — Matplotlib 3.10.3 文檔 - Matplotlib 繪圖庫

二、基礎(chǔ)演示

代碼如下:

"""
matplotlib基礎(chǔ)演示
"""
from matplotlib import pyplot as plt

x = list(range(2, 26, 2))
y = [15, 13, 14.5, 17, 20, 25, 26, 26, 27, 22, 18, 15]

# 設(shè)置圖片大小
plt.figure(figsize=(20, 8), dpi=80)

# 繪圖
plt.plot(x, y)

plt.show()

三、部分API

1. 設(shè)置圖片大小

matplotlib.pyplot.figure,創(chuàng)建一個(gè)新圖表,或激活一個(gè)現(xiàn)有圖表。

部分參數(shù):

figsize:(float, float),默認(rèn)值:rcParams["figure.figsize"] (默認(rèn)值:[6.4, 4.8])

寬度、高度,單位為英寸。

dpi:float,默認(rèn)值:rcParams["figure.dpi"] (默認(rèn)值:100.0)

圖表的分辨率,單位為每英寸點(diǎn)數(shù)。

2. 調(diào)整x軸或y軸上的刻度

matplotlib.pyplot.xticks,獲取或設(shè)置 x 軸當(dāng)前的刻度位置和標(biāo)簽。

ticks:類數(shù)組,可選。x刻度位置列表。傳入空列表將移除所有x刻度。

labels:類數(shù)組, 可選。放置在給定 ticks 位置的標(biāo)簽。此參數(shù)只能在同時(shí)傳遞 ticks 時(shí)使用。

rotation:float,默認(rèn)值:0??潭刃D(zhuǎn)度數(shù),避免擁堵。

當(dāng)刻度太密集,使用列表的步長(zhǎng)(間隔取值)來解決

# 設(shè)置x軸刻度 設(shè)置為0.5間隔的
plt.xticks(list(i / 2 for i in range(4, 49))[::3])
# 設(shè)置y刻度值
plt.yticks(range(min(y), max(y) + 1))

刻度為字符串類型時(shí),同時(shí)提供ticks和labels參數(shù)

# 設(shè)置x軸刻度(每10分鐘顯示一個(gè)標(biāo)簽)
_xtick_label = [f"10點(diǎn){i}分" for i in range(60)] + [f"11點(diǎn){i}分" for i in range(60)]
plt.xticks(list(x_data)[::5], _xtick_label[::5], rotation=45)  # 旋轉(zhuǎn)45度避免重疊

3. 設(shè)置中文顯示

import matplotlib

# 設(shè)置中文字體 & 負(fù)號(hào)
matplotlib.rcParams['font.family'] = 'MicroSoft YaHei'
matplotlib.rcParams['axes.unicode_minus'] = False

4. 添加描述信息

4.1 x、y軸的描述信息

matplotlib.pyplot.xlabel,設(shè)置 x 軸的標(biāo)簽。(y軸:matplotlib.pyplot.ylabel,參數(shù)相同)

xlabel:str,標(biāo)簽文本。

labelpad:float, 默認(rèn)值: rcParams["axes.labelpad"] (默認(rèn)值: 4.0)

從坐標(biāo)軸邊界框(包括刻度線和刻度標(biāo)簽)開始的間距(以點(diǎn)為單位)。如果為 None,則保留先前的值。

loc:{'left', 'center', 'right'}, 默認(rèn)值: rcParams["xaxis.labellocation"] (默認(rèn)值: 'center')

標(biāo)簽位置。這是傳遞參數(shù) x 和 horizontalalignment 的高級(jí)替代方案。

4.2 圖表標(biāo)題

matplotlib.pyplot.title,為 Axes 設(shè)置標(biāo)題。設(shè)置三個(gè)可用坐標(biāo)軸標(biāo)題之一。這些可用標(biāo)題位于坐標(biāo)軸上方,可居中、左對(duì)齊或右對(duì)齊。

label:字符串,用于標(biāo)題的文本

loc:{'center', 'left', 'right'},默認(rèn)值:rcParams["axes.titlelocation"](默認(rèn)值:'center')

要設(shè)置的標(biāo)題位置。

y:浮點(diǎn)數(shù),默認(rèn)值:rcParams["axes.titley"](默認(rèn)值:None)

標(biāo)題的垂直軸位置(1.0 為頂部)。如果為 None(默認(rèn)值),且rcParams["axes.titley"](默認(rèn)值:None)也為 None,則 y 會(huì)自動(dòng)確定以避免軸上的裝飾器。

pad:浮點(diǎn)數(shù),默認(rèn)值:rcParams["axes.titlepad"](默認(rèn)值:6.0)

標(biāo)題相對(duì)于坐標(biāo)軸頂部的偏移量,以點(diǎn)為單位。

5. 圖表繪制

matplotlib.pyplot.plot,將 y 對(duì) x 繪制為線和/或標(biāo)記。

調(diào)用:

  • plot([x], y, [fmt], *, data=None, **kwargs)
  • plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

可以使用 Line2D 屬性作為關(guān)鍵字參數(shù),以更好地控制外觀

6. 顯示圖例

matplotlib.pyplot.legend,在 Axes 上放置圖例。

方式一

當(dāng)您不傳入任何額外參數(shù)時(shí),要添加到圖例中的元素將自動(dòng)確定。

在這種情況下,標(biāo)簽取自 artist(plot設(shè)置參數(shù)label后返回的對(duì)象)

 也可以使用artist 上的 set_label() 方法來指定。

plt.plot(x_data, y_data, color='red', label='氣溫')

方式二

分別傳遞一個(gè)圖例藝術(shù)對(duì)象的可迭代對(duì)象,后跟一個(gè)圖例標(biāo)簽的可迭代對(duì)象。

plt.legend([line1, line2, line3], ['label1', 'label2', 'label3'])

方式三

類似于方法2,但標(biāo)簽取自藝術(shù)對(duì)象的標(biāo)簽屬性。

line1, = plt.plot([1, 2, 3], label='label1') line2, = plt.plot([1, 2, 3], label='label2') plt.legend(handles=[line1, line2])

四、案例

"""
繪制三天的10點(diǎn)到12點(diǎn)每分鐘的氣溫
"""

from matplotlib import pyplot as plt
import random
from datetime import datetime, timedelta

# 設(shè)置中文字體 & 負(fù)號(hào)
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

# 生成數(shù)據(jù)
start_time = datetime.strptime("10:00", "%H:%M")  # 起始時(shí)間10:00
x_data = [(start_time + timedelta(minutes=i)).strftime("%H:%M") for i in range(120)]  # 生成10:00-12:00的hh:mm格式時(shí)間
y_data1 = [random.randint(10, 30) for _ in range(120)]  # 隨機(jī)生成10-30℃的氣溫?cái)?shù)據(jù)
y_data2 = [random.randint(10, 30) for _ in range(120)]  # 隨機(jī)生成10-30℃的氣溫?cái)?shù)據(jù)
y_data3 = [random.randint(10, 30) for _ in range(120)]  # 隨機(jī)生成10-30℃的氣溫?cái)?shù)據(jù)


# 設(shè)置圖形大小
plt.figure(figsize=(15, 5), dpi=100)

# 繪制折線圖
plt.plot(x_data, y_data1, color='red', linestyle='-', linewidth=1, marker='.', markersize=5, label="one")
plt.plot(x_data, y_data2, color='#00FF00', linestyle='-.', linewidth=1, marker='.', markersize=5, label="two")
plt.plot(x_data, y_data3, color='#87CEEB', linestyle=':', linewidth=1, marker='.', markersize=5, label="three")

# 設(shè)置x軸刻度(每10分鐘顯示一個(gè)標(biāo)簽)
plt.xticks(x_data[::10], rotation=45)  # 旋轉(zhuǎn)45度避免重疊

# 添加標(biāo)題和標(biāo)簽
plt.title("10:00-12:00每分鐘氣溫變化", fontsize=14)
plt.xlabel("時(shí)間", fontsize=12)
plt.ylabel("溫度(℃)", fontsize=12)
plt.grid(alpha=0.3)  # 半透明網(wǎng)格線
plt.legend()  # 顯示圖例

# 自動(dòng)調(diào)整布局防止標(biāo)簽被截?cái)?
plt.tight_layout()

# 顯示圖形
plt.show()

總結(jié)

到此這篇關(guān)于Python大數(shù)據(jù)處理之matplotlib.pyplot初步使用的文章就介紹到這了,更多相關(guān)Python matplotlib.pyplot使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pandas 類型轉(zhuǎn)換astype()的實(shí)現(xiàn)

    Pandas 類型轉(zhuǎn)換astype()的實(shí)現(xiàn)

    本文主要介紹了Pandas 類型轉(zhuǎn)換astype()的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • python 去除二維數(shù)組/二維列表中的重復(fù)行方法

    python 去除二維數(shù)組/二維列表中的重復(fù)行方法

    今天小編就為大家分享一篇python 去除二維數(shù)組/二維列表中的重復(fù)行方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python 刪除List元素的三種方法remove、pop、del

    Python 刪除List元素的三種方法remove、pop、del

    這篇文章主要介紹了Python 刪除List元素的三種方法remove、pop、del,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python 異常處理的實(shí)例詳解

    Python 異常處理的實(shí)例詳解

    這篇文章主要介紹了Python 異常處理的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家掌握Python 異常的知識(shí),需要的朋友可以參考下
    2017-09-09
  • Python多方式分支switch?case實(shí)現(xiàn)舉例詳解

    Python多方式分支switch?case實(shí)現(xiàn)舉例詳解

    在許多編程語言(如?C、Java)中,switch-case是處理多分支條件的常用語法,這篇文章主要介紹了Python多方式分支switch?case實(shí)現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-06-06
  • python?DataFrame數(shù)據(jù)分組統(tǒng)計(jì)groupby()函數(shù)的使用

    python?DataFrame數(shù)據(jù)分組統(tǒng)計(jì)groupby()函數(shù)的使用

    在python的DataFrame中對(duì)數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì)主要使用groupby()函數(shù),本文主要介紹了python?DataFrame數(shù)據(jù)分組統(tǒng)計(jì)groupby()函數(shù)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-03-03
  • Python中緩存入門實(shí)戰(zhàn)之核心概念與用法詳解

    Python中緩存入門實(shí)戰(zhàn)之核心概念與用法詳解

    緩存是提升程序性能的關(guān)鍵技術(shù),可以大幅的降低響應(yīng)時(shí)間,本文是Python 緩存的入門指南,涵蓋核心概念、常用實(shí)現(xiàn)方式和實(shí)戰(zhàn)案例,感興趣的小伙伴可以了解下
    2026-01-01
  • Python函數(shù)參數(shù)匹配模型通用規(guī)則keyword-only參數(shù)詳解

    Python函數(shù)參數(shù)匹配模型通用規(guī)則keyword-only參數(shù)詳解

    Python3對(duì)函數(shù)參數(shù)的排序規(guī)則更加通用化了,即Python3 keyword-only參數(shù),該參數(shù)即為必須只按照關(guān)鍵字傳遞而不會(huì)有一個(gè)位置參數(shù)來填充的參數(shù)。這篇文章主要介紹了Python函數(shù)參數(shù)匹配模型通用規(guī)則keyword-only參數(shù),需要的朋友可以參考下
    2019-06-06
  • python和C++共享內(nèi)存?zhèn)鬏攬D像的示例

    python和C++共享內(nèi)存?zhèn)鬏攬D像的示例

    這篇文章主要介紹了python和C++共享內(nèi)存?zhèn)鬏攬D像的示例,幫助大家利用python處理圖片,感興趣的朋友可以了解下
    2020-10-10
  • 基于Python制作天眼查小程序的示例代碼

    基于Python制作天眼查小程序的示例代碼

    本文主要介紹了如何利用Python制作一個(gè)天眼查GUI程序。這次的GUI程序,我們使用的框架是PyQt5,該框架擁有比tkinter更為豐富的內(nèi)置組件,在界面美化方面,貌似也更勝一籌,快跟隨小編一起學(xué)起來吧
    2022-09-09

最新評(píng)論

同仁县| 广灵县| 万荣县| 周口市| 宣城市| 集安市| 武乡县| 太保市| 上林县| 普兰县| 饶平县| 耿马| 抚顺县| 平罗县| 兴海县| 老河口市| 垫江县| 东台市| 疏勒县| 吉木乃县| 孟连| 盐源县| 中方县| 临海市| 梁平县| 丰原市| 普兰店市| 金平| 清水县| 银川市| 麻江县| 澄江县| 商河县| 东莞市| 翁牛特旗| 蓝田县| 鄂温| 伊吾县| 陈巴尔虎旗| 虎林市| 万宁市|