1. 程式人生 > >Python視覺化中Matplotlib繪圖(2.設定範圍、標籤、標題、圖例(詳細引數))

Python視覺化中Matplotlib繪圖(2.設定範圍、標籤、標題、圖例(詳細引數))

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