Matplotlib基礎
阿新 • • 發佈:2020-12-13
1、曲線圖
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] #顯示中文標籤 plt.rcParams['axes.unicode_minus'] = False #準備資料 X = np.linspace(-np.pi, np.pi, 256) C,S = np.cos(X), np.sin(X) #設定畫布大小及解析度 fig=plt.figure(figsize=(15,7), dpi=100) #畫曲線,設定線顏色,線寬度,線型別 plt.plot(X,C,color="r", linewidth=2.0, linestyle="-",label="cos") plt.plot(X,S,label="sin",color="r",alpha=1.00) #設定座標軸 plt.xlim(-np.pi, np.pi) #設定座標軸顯示範圍 plt.ylim(-1.1,1.2) plt.xticks(np.linspace(-np.pi, np.pi, 5),[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$']) plt.yticks([-1,1]) #設定座標軸顯示內容 plt.xlabel("X軸",verticalalignment='baseline',fontsize=24) #設定座標軸標籤 #設定脊柱 ax = plt.gca() ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') ax.spines['bottom'].set_position(('data',0)) ax.spines['left'].set_position(('data',0)) #新增圖例,與畫圖中的引數配合 plt.legend(loc='upper left') #添加註釋 t = 2*np.pi/3 plt.plot([t,t],[0,np.sin(t)], color ='blue', linewidth=2.5, linestyle="--") #畫垂直虛線 plt.scatter([t,],[np.sin(t),], 50, color ='blue') #畫點 plt.annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$', xy=(t, np.sin(t)), xycoords='data', xytext=(+10, +30), textcoords='offset points', fontsize=16, arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.1")) #畫註釋 #調整座標軸標籤 for label in ax.get_xticklabels() + ax.get_yticklabels(): label.set_fontsize(20) label.set_bbox(dict(facecolor='w', edgecolor='None', alpha=0.4 )) #畫子圖 x=np.arange(1,100) ax1=fig.add_subplot(3,4,11) ax1.plot(x,x*x) #儲存圖片 plt.savefig("exercice_2.png",dpi=100) #顯示圖片 plt.show()
2、3D圖
from pylab import * from mpl_toolkits.mplot3d import Axes3D fig = figure(figsize=(15,7), dpi=100) ax = Axes3D(fig) X = np.arange(-4, 4, 0.2) Y = np.arange(-4, 4, 0.2) X, Y = np.meshgrid(X, Y) #畫網格 R = np.sqrt(X**2 + Y**2) Z = np.sin(R) #畫圖 ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='hot') show()