Python視覺化中Matplotlib繪圖(2.設定範圍、標籤、標題、圖例(詳細引數))
阿新 • • 發佈:2018-11-12
1.為繪製的圖新增範圍
import matplotlib.pyplot as plt # 匯入繪圖模組
import numpy as np # 匯入需要生成資料的numpy模組
'''新增範圍'''
y = np.arange(0,10,1)
plt.plot(y)
''' 設定x軸的刻度:plt.xlim() '''
plt.xlim(-2,12) # 設定x軸的刻度從-2到12
''' 設定y軸的刻度:plt.ylim() '''
plt.ylim(2,10) # 設定x軸的刻度從2到10
plt.show()
2. 新增座標軸的標籤 (裡面的引數根據需求來設定,如果不需要時,不要新增)
''' 座標軸標籤 xlabel(),ylabel()''' x = np.arange(0,10,2) y = x**2 + 7 plt.plot(x,y) ''' 給y軸加上標籤''' ''' 裡面的引數,可以根據需求來設定 size設定標籤的大小 rotation設定標籤的旋轉度 horizontalalignment(設定標籤的左右位置):'center', 'right', 'left' verticalalignment(設定標籤的上下位置) :'center', 'top', 'bottom' ''' plt.ylabel('f(x) = x**2+5',rotation=60,horizontalalignment='right',verticalalignment='center') ''' 給x軸加上標籤''' plt.xlabel('x',size=20) plt.show()
3. 新增標題
'''標題 title()方法''' x = np.linspace(-np.pi,np.pi,100) plt.plot(x,np.sin(x)) ''' 設定標題 (注意必須是英文的) 引數說明:(1) size設定標題的大小 (2)裡面也有設定horizontalalignment(設定標題的左右位置)和 verticalalignment(設定標題的上下位置)的引數 (3)設定標題圖上方的位置: loc = 'left', ('right'),('center') ''' plt.title('f(x) = sin(x)',size=20,loc = 'right') plt.show()
4.設定圖例
'''第一種新增圖例的方式 plt.legend()'''
x = np.arange(0,10,1)
plt.plot(x,x,x,x*2,x,x/2) # 在一張圖上畫三個曲線 normal:(x,x) fast(x,x*2) slow(x,x/2)
'''
新增圖例
引數的傳遞注意加中括號
'''
plt.legend(['normal','fast','slow']) # 給三個曲線都上圖例
plt.show()
'''第二種新增圖例的方式 在plt,plot()裡面新增 label引數'''
x1 = np.arange(0,10,1)
plt.plot(x1,x1,label='normal') # 在label引數加上圖例
'''給圖例的前面加上下滑線就不會顯示這個圖例了,即label='_fast'
label='_fast'這個只能在plot()裡面使用'''
plt.plot(x1,x1**2,label='fast')
plt.plot(x1,x1/2,label='slow') # 或者不寫圖例就不顯示了
plt.legend() # 儘管加了label引數,還是要呼叫legend是圖例顯示出來.
plt.show()
圖例的loc引數 ,設定圖例的位置
'''圖例裡面的loc引數,設定圖例的位置'''
'''
(1)預設是圖上的哪個區域最後就放在哪兒
(2)指定圖例的位置 loc = 'right'
還有一些的值:('left')('center')('right' )
upper left
lower left
lower right
center left
center right
lower center
upper center
'''
x2 = np.arange(0,10,1)
plt.plot(x2,x2,x2,x2*2,x2,x2/2)
plt.legend(['normal','fast','slow'],loc = 'right')
plt.show()
'''loc 引數可以是2元素的元組,表示圖例左下角的座標'''
'''
loc = (0.5,1) 裡面的值是相對值,可以為負數
相對於繪製的圖的寬高,1個圖片的寬度單位
'''
x3 = np.arange(0,10,1)
plt.plot(x3,x3,x3,x3*2,x3,x3/2)
plt.legend(['normal','fast','slow'],loc =(0.5,1))
plt.show()
ncol引數: 控制圖例中有幾列
'''ncol 引數 : 控制圖例中有幾列 '''
x4 = np.arange(0,10,1)
plt.plot(x4,x4,x4,x4*2,x4,x4/2)
'''設定圖例按三列顯示'''
plt.legend(['normal','fast','slow'],loc = 'best',ncol=3)
plt.show()