亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

提示:本文只介紹了pyplot的使用,非matplotlib全部內(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)建一個新圖表,或激活一個現(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)

圖表的分辨率,單位為每英寸點數(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ù)只能在同時傳遞 ticks 時使用。

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

當(dā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))

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

# 設(shè)置x軸刻度(每10分鐘顯示一個標(biāo)簽)
_xtick_label = [f"10點{i}分" for i in range(60)] + [f"11點{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ù)號
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)簽)開始的間距(以點為單位)。如果為 None,則保留先前的值。

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

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

4.2 圖表標(biāo)題

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

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

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

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

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

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

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

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

5. 圖表繪制

matplotlib.pyplot.plot,將 y 對 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ù)時,要添加到圖例中的元素將自動確定。

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

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

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

方式二

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

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

方式三

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

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

四、案例

"""
繪制三天的10點到12點每分鐘的氣溫
"""

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

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

# 生成數(shù)據(jù)
start_time = datetime.strptime("10:00", "%H:%M")  # 起始時間10:00
x_data = [(start_time + timedelta(minutes=i)).strftime("%H:%M") for i in range(120)]  # 生成10:00-12:00的hh:mm格式時間
y_data1 = [random.randint(10, 30) for _ in range(120)]  # 隨機(jī)生成10-30℃的氣溫數(shù)據(jù)
y_data2 = [random.randint(10, 30) for _ in range(120)]  # 隨機(jī)生成10-30℃的氣溫數(shù)據(jù)
y_data3 = [random.randint(10, 30) for _ in range(120)]  # 隨機(jī)生成10-30℃的氣溫數(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分鐘顯示一個標(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("時間", fontsize=12)
plt.ylabel("溫度(℃)", fontsize=12)
plt.grid(alpha=0.3)  # 半透明網(wǎng)格線
plt.legend()  # 顯示圖例

# 自動調(diào)整布局防止標(biāo)簽被截斷
plt.tight_layout()

# 顯示圖形
plt.show()

總結(jié)

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

相關(guān)文章

  • python編譯pyc文件的過程解析

    python編譯pyc文件的過程解析

    pyc是一種二進(jìn)制文件,是由py文件經(jīng)過編譯后,生成的文件,是一種byte code,這篇文章主要介紹了python編譯pyc文件,需要的朋友可以參考下
    2021-09-09
  • 關(guān)于PyQt5主窗口圖標(biāo)顯示問題匯總

    關(guān)于PyQt5主窗口圖標(biāo)顯示問題匯總

    這篇文章主要介紹了關(guān)于PyQt5主窗口圖標(biāo)顯示問題匯總,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Python中常用的GUI(圖形用戶界面)庫用法詳細(xì)介紹

    Python中常用的GUI(圖形用戶界面)庫用法詳細(xì)介紹

    GUI圖形用戶界面是一種允許用戶通過圖形元素(如圖標(biāo)、按鈕、窗口等)與電子設(shè)備進(jìn)行交互的用戶界面,下面這篇文章主要給大家介紹了關(guān)于Python中常用的GUI(圖形用戶界面)庫用法的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • 解決pycharm導(dǎo)入本地py文件時,模塊下方出現(xiàn)紅色波浪線的問題

    解決pycharm導(dǎo)入本地py文件時,模塊下方出現(xiàn)紅色波浪線的問題

    這篇文章主要介紹了解決pycharm導(dǎo)入本地py文件時,模塊下方出現(xiàn)紅色波浪線的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • pybind11和numpy進(jìn)行交互的方法

    pybind11和numpy進(jìn)行交互的方法

    這篇文章主要介紹了pybind11和numpy進(jìn)行交互的方法,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-07-07
  • Python如何輸出百分比

    Python如何輸出百分比

    這篇文章主要介紹了Python 如何輸出百分比,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python2和Python3讀取文本文件的區(qū)別及說明

    Python2和Python3讀取文本文件的區(qū)別及說明

    這篇文章主要介紹了Python2和Python3讀取文本文件的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python實現(xiàn)拓?fù)渑判虻姆椒ú襟E

    python實現(xiàn)拓?fù)渑判虻姆椒ú襟E

    拓?fù)渑判蚴菍τ邢驘o環(huán)圖進(jìn)行排序的一種算法,本文主要介紹了python實現(xiàn)拓?fù)渑判虻姆椒ú襟E,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • 在Python中封裝GObject模塊進(jìn)行圖形化程序編程的教程

    在Python中封裝GObject模塊進(jìn)行圖形化程序編程的教程

    這篇文章主要介紹了在Python中封裝GObject模塊進(jìn)行圖形化程序編程的教程,本文來自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實例代碼

    Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實例代碼

    這篇文章主要介紹了Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08

最新評論