Python視覺化中Matplotlib(4.三種設定樣式方法、設定座標刻度以及標籤、設定顯示出特殊字元)
阿新 • • 發佈:2018-11-12
1.三種設定方式
(1)向方法傳入關鍵字引數 上一節已經總結過,一直在使用
(2)對例項使用一系列的setter方法
具體的方法直接看程式碼
import matplotlib.pyplot as plt # 匯入繪圖模組 import numpy as np # 匯入需要生成資料的numpy模組 ''' (2)對例項使用一系列的setter方法 ''' x = np.arange(0,10,1) '''l1, l2, l3, 加逗號與不加的區別 不加逗號的型別是: [<matplotlib.lines.Line2D object at 0x0000023696DB12B0>] 加逗號的型別是: Line2D(_line0) ''' l1, = plt.plot(x,np.sin(x)) # 直接獲取圖 l2, = plt.plot(x,np.cos(x)) l3, = plt.plot(x,x*2) '''設線條顏色''' l1.set_color('r') l2.set_color('b') '''設定線寬''' l3.set_linewidth(5) '''設定樣式''' l3.set_linestyle('--') '''其他設定的方法是一樣的方法''' plt.show()
(3) 使用setp()方法
'''
(3) 使用setp()方法
setp():p:property(屬性)
'''
x = np.arange(0,10,0.1)
line, = plt.plot(x,np.sin(x))
line2, = plt.plot(x,np.cos(x))
'''對哪條線條進行設定,就把這條線對應的物件傳入進去'''
plt.setp(line2,ls='--',lw=3,marker='o')
plt.show()
2. 設定X、Y軸座標刻度
(1)普通的方法: 設定x軸的刻度:xticks() 設定y軸的刻度:yticks()
''' 設定x軸的刻度:xticks() 設定y軸的刻度:yticks() 引數說明: 第一個是刻度的範圍值,以及個數 第二個是座標名 (要和第一個的個數對應),沒有的話就是第一個設定刻度值 fontsize : 設定刻度的字型大小 rotation: 要旋轉的度數值 ''' x = np.random.randn(100) plt.plot(x.cumsum(),) # cumsum() 累加和 '''設定x軸的刻度''' plt.xticks(np.linspace(0,100,5),list('abcde'),fontsize=15) '''設定y軸的刻度''' plt.yticks(np.linspace(-10,20,3),['max','min',0],fontsize=15,rotation=60) plt.show()
(2)通過面向物件的方法
利用 set_xticks(),set_yticks(),set_xticklabels() 來設定
'''面向物件的方法'''
'''set_xticks(),set_yticks(),set_xticklabels()'''
x = np.random.randn(100)
axes = plt.subplot(111)
axes.plot(x.cumsum())
'''對x軸和y軸刻度值'''
axes.set_xticks([0,25,50,75,100])
axes.set_yticks([-10,-5,0,5,10])
'''設定座標名'''
axes.set_xticklabels(list('abcde'))
plt.show()
3.正弦餘弦 使其π,平方等特殊字元顯示出來顯示出來
LaTex 語法:用$\pi$等表示式在圖表上寫上希臘字母
'''顯示出特殊字元'''
x = np.arange(-np.pi,np.pi,0.01)
plt.plot(np.sin(x)**2)
plt.plot(np.cos(x)**2)
print(len(x))
plt.yticks([0,1],[0,'max'])
'''給x求個長度,把它均等分'''
'''LaTex 語法:用$\pi$等表示式在圖表上寫上希臘字母'''
# x的長度為629 ,分為5份 一份 157.25
plt.xticks([0,157.25,157.25*2,157.25*3,157.25*4],['-$\pi$','-$\pi/2$',0,'$\pi$/2','$\pi$'])
'''設定標題,使用平方正常顯示'''
plt.title('$f(x)=sin(x)^2$'+' and '+'$f(x)=cos(x)^2$')
plt.show()