1. 程式人生 > >Python視覺化中Matplotlib(4.三種設定樣式方法、設定座標刻度以及標籤、設定顯示出特殊字元)

Python視覺化中Matplotlib(4.三種設定樣式方法、設定座標刻度以及標籤、設定顯示出特殊字元)

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()