matplotlib教程之Pyplot 模塊

Pyplot 模塊

import matplotlib.pyplot as plt

  • 確定坐標(biāo)范圍
  • plt.axis([xmin,xmax,ymin,ymax])給定坐標(biāo)范圍
  • xlim(xmin,xmax)和ylim(ymin,ymax)調(diào)整x,y的坐標(biāo)范圍
eg:
plt.axis([40, 160, 0, 0.03])
xlim(-2.5, 2.5)
#設(shè)置y軸范圍
ylim(-1, 1)
  • 圖形對象

    plt.figure()可以產(chǎn)生多個(gè)圖,圖片號按順序增加,注意:當(dāng)前圖和當(dāng)前坐標(biāo),所有繪圖操作僅對當(dāng)前圖和當(dāng)前坐標(biāo)有效。

    eg:
    plt.figure(1) 
    
  • 添加文字說明

  • plt.text()可以在圖中任意位置添加文字,支持LabTex語法
  • xlable(),ylable()用于添加x軸和y軸標(biāo)簽
  • title用于添加圖的題目
eg: 
plt.xlabel('Smarts')
plt.ylabel('Probability')
#添加標(biāo)題
plt.title('Histogram of IQ')
#添加文字
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
  • 文本注釋
  • plt.annotate():經(jīng)常被用來注釋圖中的一些特征。
  • 在使用中需要考慮來個(gè)點(diǎn)的坐標(biāo):被注釋的地方xy(x,y)和插入文本的地方xytext(x,y)
eg:
plt.annotate('local max', xy=(2, 1), xytext=(3, 1.5),
           arrowprops=dict(facecolor='black', shrink=0.05),
            )
  • 設(shè)置軸記號

plt.xticks()/plt.yticks():自定義坐標(biāo)軸的刻度顯示值

xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$'])
yticks([-1, 0, +1], [r'$-1$', r'$0$', r'$+1$'])
  • 添加圖例

plt.legend()

eg:
legend(loc='upper left')
  • 分割圖標(biāo)

plt.subplot(2,3,1)表示把圖標(biāo)分割成2*3的網(wǎng)格。也可以簡寫plt.subplot(231)。其中,第一個(gè)參數(shù)是行數(shù),第二個(gè)參數(shù)是列數(shù),第三個(gè)參數(shù)表示圖形的標(biāo)號。

pyplot操作實(shí)例

繪制正余弦函數(shù)圖形并標(biāo)注

code:

from pylab import *
#創(chuàng)建一個(gè) 8 * 6 點(diǎn)(point)的圖,并設(shè)置分辨率為 80
figure(figsize=(8, 6), dpi=80)
# 創(chuàng)建一個(gè)新的 1 * 1 的子圖,接下來的圖樣繪制在其中的第 1 塊(也是唯一的一塊)
subplot(1, 1, 1)
X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)
# 繪制余弦曲線,使用藍(lán)色的、連續(xù)的、寬度為 1 (像素)的線條
plot(X, C, color="blue", linewidth=1.0, linestyle="-")
# 繪制正弦曲線,使用綠色的、連續(xù)的、寬度為 1 (像素)的線條
plot(X, S, color="r", lw=4.0, linestyle="-")
plt.axis([-4, 4, -1.2, 1.2])
# 設(shè)置軸記號
xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
       [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$'])
yticks([-1, 0, +1],[r'$-1$', r'$0$', r'$+1$'])
# 在屏幕上顯示
plot(X, C, color="blue", linewidth=2.5, linestyle="-", label="cosine")
plot(X, S, color="red", linewidth=2.5, linestyle="-", label="sine")
plt.legend(loc='upper left')
t = 2 * np.pi / 3
# 作一條垂直于x軸的線段,由數(shù)學(xué)知識可知,橫坐標(biāo)一致的兩個(gè)點(diǎn)就在垂直于坐標(biāo)軸的直線上了。這兩個(gè)點(diǎn)是起始點(diǎn)。
plot([t, t], [0, np.cos(t)], color='blue', linewidth=2.5, linestyle="--")
scatter([t, ], [np.cos(t), ], 50, color='blue')
plt.annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',
             xy=(t, np.sin(t)), xycoords='data',
             xytext=(+10, +30), textcoords='offset points', fontsize=16,
             arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
plot([t, t], [0, np.sin(t)], color='red', linewidth=2.5, linestyle="--")
scatter([t, ], [np.sin(t), ], 50, color='red')
annotate(r'$\cos(\frac{2\pi}{3})=-\frac{1}{2}$',
         xy=(t, np.cos(t)), xycoords='data',
         xytext=(-90, -50), textcoords='offset points', fontsize=16,
         arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
show()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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