Matplotlib python 學習筆記1
阿新 • • 發佈:2018-12-15
# %matplotlib qt5 #讓影象顯示在gui裡 # %matplotlib inline #讓影象顯示在控制檯裡,預設顯示在控制檯 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-10,10,10) #從-10到10,生成10個數字 # x 不是列表,type(x)=<class 'numpy.ndarray'>,但是類似列表 y1 = 2*x + 1 y2 = x**2 a = [1,2,3,4,5,6,7,8,9,10] b = [1,2,3,4,5,6,7,8,9,10] plt.plot(x,y1) plt.plot(x,y2) plt.plot(a,b) plt.plot(a,b,'ro') #注意這兩種方式的不同 plt.show()
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3,3,50) y1 = 2*x + 1 y2 = x**2 plt.figure() # 一個figure表示一張圖,下面的操作都是在這個圖中 plt.title('title') plt.plot(x,y1) plt.figure(num=3,figsize=(8,5)) # 再畫一張新圖,下面的操作都在新圖中 plt.plot(x,y2) plt.plot(x, y1, color='red',linewidth = 2.0, linestyle='--' ) #引數可設定顏色,線寬,風格等 plt.show()
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3,3,50) y1 = 2*x + 1 y2 = x**2 plt.figure() plt.plot(x,y2) plt.plot(x, y1, color='red',linewidth = 2.0, linestyle='--' ) plt.xlim((-1,2)) # x軸之前是-3到3,現在設定為-1到2 plt.ylim((-2,3)) plt.xlabel('I am x') plt.ylabel('I am y') new_ticks = np.linspace(-1,2,5) #print(new_ticks) plt.xticks(new_ticks) plt.yticks([-2,-1.5,-1,1.22,3], ['really bad','$\\alpha$','normal','good','really good']) #引數是兩個列表,內容要一一對應 # 輸出數學符號 plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x,y2)
plt.plot(x, y1, color='red',linewidth = 2.0, linestyle='--' )
# gca ='get current axis'
ax = plt.gca() #獲取到當前座標軸
ax.spines['right'].set_color('none') # 將影象的右邊框的顏色設定為透明
ax.spines['top'].set_color('none') #將上邊框設定顏色透明
ax.xaxis.set_ticks_position('bottom') #將影象的下邊框設定為x軸
ax.yaxis.set_ticks_position('left') #將影象的左邊框設定為y軸
ax.spines['bottom'].set_position(('data',1)) #將影象的x軸放在y軸的位置1
ax.spines['left'].set_position(('data',0)) #將影象的y軸放在x軸的位置0
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
l1, = plt.plot(x,y2,label='up')
l2, = plt.plot(x, y1, color='red',linewidth = 2.0, linestyle='--',label='down')
#plt.legend(handles=[l1,l2], labels=['aaa','bbb'],loc='best') #列印兩條線的圖例
plt.legend(handles=[l1,l2], labels=['aaa',],loc='best') #只打印一條線的圖例
# loc ='upper left','upper right','lower left','lower right'
plt.show()