Python視覺化中的Matplotlib繪圖(1.畫圖,網格,子圖,畫正餘弦圖,座標軸界限,畫圓,)
阿新 • • 發佈:2018-11-12
1.一張基本的圖示包含的元素;
· x軸和y軸 以及他們的刻度線 、標籤、繪圖區域
import matplotlib.pyplot as plt # 匯入繪圖模組
import numpy as np # 匯入需要生成資料的numpy模組
'''只有一個曲線圖'''
nd = np.linspace(0,100,10)
# plot 引數如果只有一個值,那x軸的座標預設是從0,1,2。。。
plt.plot(nd) # plt.plot(nd,nd**2)
plt.show()
2. 在一張圖上畫多個曲線
'''包含多個曲線圖''' # 第一種方式: x = np.arange(0,10,1) plt.plot(x,x**2) plt.plot(x,x**3) plt.plot(x,x**4) plt.show()
# 第二種方式
x = np.arange(0, 10, 1)
plt.plot(x, x * 2, x, x * 5, x, x * 3) # 每組x和y之間用逗號隔開就行
plt.show()
'''繪製正弦餘弦'''
x = np.arange(-np.pi, np.pi , 0.01) # numpy裡面有自帶的π,間隔設定為0.01
plt.plot(x,np.sin(x),x,np.cos(x)) # 在一張圖片上繪製正弦和餘弦
plt.show()
可以給圖片加上網格線 plt.grid() #新增網格線
3. 在一張圖張顯示多個子圖
''' 一張圖片展示多張子圖 subplot() plt 面向物件 (圖形就是所謂的物件) ''' # sub = 子 x = np.arange(-10, 10, 0.1) plt.figure(figsize=(12, 9)) axes = plt.subplot(1, 3, 1) # 引數的意思:一行三列的第一個子圖圖 axes.plot(x, np.sin(x)) axes.grid(color='r',linestyle='--',linewidth=2) # 設定網格 裡面可以設定顏色和網格線的樣式以及寬度 axes2 = plt.subplot(1, 3, 2) # 一行三列的第二個子圖 axes2.plot(x, np.cos(x)) axes2.grid(color='g',linestyle='-.',linewidth=2) # 設定網格 裡面可以設定顏色和網格線的樣式以及寬度 axes3 = plt.subplot(1, 3, 3) # 一行三列的第二個子圖 axes3.plot(x, np.sin(x)) axes3.grid(color='b',linestyle=':',linewidth=2) # 設定網格 裡面可以設定顏色和網格線的樣式以及寬度 plt.show()
4. 設定座標軸 界限
'''
座標軸界限
如果axis方法沒有任何引數,則返回當前座標軸的上下限 axis(xmin=,ymax=)
'''
x = np.random.rand(10)
'''裡面的引數 [x軸的最小值,x軸的最大值,y軸的最小值,x軸的最大值]'''
plt.axis([-5,15,-5,10]) # 注意有中括號括起來
plt.plot(x)
plt.show()
x = np.linspace(-5,5,100)
plt.plot(x,np.tan(x))
'''設定不顯示座標軸axis('off'),預設是顯示座標軸的引數為axis('tight')'''
plt.axis('off')
plt.show()
5. 利用Matplotlib 裡面的plt.axis('equal') 來畫一個圓形
'''利用 plt.axis('equal')來畫一個圓'''
x = np.linspace(-np.pi,np.pi,100)
plt.axis('equal') # 'equal':即讓x和y的變化幅度相同
plt.plot(np.sin(x),np.cos(x))
plt.show()