Matplotlib

????Matplotlib 可能是 Python 2D-繪圖領(lǐng)域使用最廣泛的套件。它能讓使用者很輕松地將數(shù)據(jù)圖形化,并且提供多樣化的輸出格式

matplotlib三層結(jié)構(gòu)

1. 容器層

對畫布進(jìn)行創(chuàng)建,定義相關(guān)屬性

  • 畫板層Canvas
  • 畫布層Figure(可指定畫布屬性,大小、清晰度等)
  • 繪圖區(qū)/坐標(biāo)系(可指定多區(qū)域、坐標(biāo)系顯示,通過figure、axes對象)

2. 輔助顯示層

增加相關(guān)顯示功能、描述

  • 修改x、y軸刻度(plt.x/yticks())
  • 添加描述信息(plt.x/ylabel();plt.title())
  • 添加網(wǎng)格(plt.grid())

3. 圖像層

具體描繪的圖像風(fēng)格、種類等等

I. 折線圖

plt.plot()
plt.subplots
figure, axes = plt.subplots(nrows=1, ncols=2, **fig_kw)

axes[0].方法名()

II. 散點圖

plt.scatter(x,y)

III. 柱狀圖

matplotlib.pylot.bar(x,y, width, align='center', **kwargs)

IV. 直方圖

matplotlib.pylot.hist(x,y, bins=None, normed=None, **kwargs)

bins(組數(shù)) = (max(x)-min(x))//(組距)

V. 餅圖

plt.pie(x, labels=autopct=,color=)
  • x,數(shù)量,自動計算占比

  • labels,每部分名稱

  • actopct 占比顯示指定%1.2f%%

  • color 每部分顏色

  • plt.axis('equal')——保證餅圖圓形,保證長寬一致

總結(jié)

????總得來說,Matplotlib繪圖過程無非幾步:
1. 準(zhǔn)備數(shù)據(jù)
2. 創(chuàng)建畫布
3. 繪制圖像(根據(jù)不同圖像類別調(diào)用不同方法)
4. 輔助繪制(刻度、圖例等)
5. 圖像顯示/保存

  • 更多相關(guān)方法可以去官網(wǎng)的api上查詢文檔:matplotlib:

示例( 溫度變化折線圖)

import matplotlib.pyplot as plt
import random


if __name__ == '__main__':
    #準(zhǔn)備數(shù)據(jù)
    x = range(60)
    y_shanghai = [random.uniform(15, 18) for i in x]
    #創(chuàng)建畫布
    plt.figure(figsize=(20, 8), dpi=80)

    #繪制圖像
    plt.plot(x, y_shanghai, color='b', linestyle='--', label='上海')

    #顯示圖例
    plt.legend()

    #準(zhǔn)備x、y的刻度以及刻度說明
    x_label = ["11點{}分".format(i) for i in x]
    plt.xticks(x[::5], x_label[::5])
    plt.yticks(range(0, 40, 5))

    #添加網(wǎng)格
    plt.grid(linestyle='--', alpha=0.5)

    plt.xlabel("時間變化")
    plt.ylabel("溫度變化")
    plt.title("某城市11點到12點溫度變化")

    plt.show()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容