Matplotlib使用教程


1.Matplotlib簡介

Matplotlib是一個Python繪圖庫,可以非常方便的繪制出以下圖形:

  • 折線圖
  • 散點圖
  • 條形圖
  • 直方圖
  • 以及等高線圖、3D圖形,甚至是圖形動畫等。

2.安裝

2.1 方式一

在命令窗口執行以下命令:

pip install matplotlib

2.2 方式二

官網去下載對應的安裝包,然后在命令窗口執行以下命令:

cd download  # download為下載目錄
pip install xxx.whl  # xxx.whl為安裝包名

注:Windows環境需要確保安裝有Visual Studio。

3.基礎使用

3.1 基本用法

  • 導包
from matplotlib import pyplot as plt
  • 配置x軸、y軸數據
x = [1, 2, 3]
y = [2, 4, 6]
  • 繪制
plt.plot(x, y)
  • 展示
plt.show()
  • 保存
plt.savefig("./sig_size.png")

參數為圖片保存地址。

  • 效果圖

3.2 設置圖片和線條格式

注:所有設置都需要放在圖片繪制前

  • 設置圖片
fig = plt.figure(figsize=(20, 8), dpi=80)

figsize設置的是圖片的長和寬,單位為英寸;dpi為每英寸長度內像素點數;上面的設置生成的圖片大小為1600x640(像素)。

  • 設置線條格式
plt.plot(x, y, color="red", linestyle="-.", linewidth=5, alpha=0.4)

color設置的是線條顏色,linestyle設置的是線條樣式,linewidth設置的是線條寬度,alpha設置的是線條的透明度。

  • 效果圖

3.3 設置坐標軸

  • 設置中文支持
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttf")

fname對應的是系統中文字體位置(其他類型字體沒試過,自行嘗試)。

  • 設置坐標軸刻度
plt.xticks(x, x_ticks_labels, rotation=0, fontproperties=my_font)
plt.yticks(y, y_ticks_labels, rotation=45, fontproperties=my_font)

x,y為數字類型數組,x_ticks_labels、y_ticks_labels為字符串類型數組,一般是對應數據的說明;rotation設置的是標簽的旋轉度;fontproperties設置的是字體。

  • 設置坐標軸描述信息
plt.xlabel("產品", fontproperties=my_font)
plt.ylabel("銷量", fontproperties=my_font)
  • 設置坐標軸邊框
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
  • 設置x軸標簽和坐標軸位置
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))
ax.spines['bottom'].set_position(('data', 0))

第一行代碼是調整x軸標簽位置,后兩行代碼調整的是坐標軸的位置(此項設置必須放在設置坐標軸刻度之前,否則刻度為中文時會顯示為亂碼)。
+效果圖

3.4 添加圖例

plt.plot(x, y, color="red", linestyle="-.", linewidth=5, alpha=0.4, label="產品銷量")
plt.legend(prop=my_font, loc=("upper left"))

繪制時添加label標簽,loc設置的是圖例顯示的位置
效果圖:

3.5 添加標注

  • annotate注釋
plt.annotate(r'這里是對(第一個點的標注)', xy=(x[0], y[0]), xycoords='data', xytext=(+30, -30),
             textcoords='offset points', arrowprops=dict(arrowstyle='->', connectionstyle="arc3,rad=.2"),
             fontproperties=my_font)

第一個參數是注釋內容,第二個參數是需要注釋的坐標點信息,第三個參數是坐標點是基於什么選擇,第四個和第五個參數是注釋位置設置及相對坐標點的偏移,第六個參數設置的是箭頭的信息。

  • text注釋
plt.text(-3.7, 3, r'這里是普通文本注釋', fontdict={'size': 16, 'color': 'r'}, fontproperties=my_font)

第一個和第二個參數是設置文本的位置,第三個參數設置的是注釋內容,第四個參數設置的是文本的樣式。

  • 效果圖
  • 繪制網格
plt.grid(alpha=0.4)

參數設置的是網格的透明度。

4.其他類型畫圖

plot繪制的是折線圖,其他類型與之大同小異,只是關鍵字不同。

  • 散點圖
    關鍵字是scatter,即繪制圖形時,將plot替換成scatter。
  • 條形圖
    關鍵字是bar(縱向)以及barh橫向。

    繪制橫向條形圖時xy的數據需要調換,而且為了美觀,一般是y的值過大,導致圖片過高時,才需要使用。
  • 直方圖
    關鍵字是hist。因為是統計區間內的出現的次數,所以y軸不能為負(不會顯示)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM