總結了一下網上現有的資源,得到了一些東西。隨手做個備忘。 導入 在PyCharm中使用 繪圖 三維繪圖 最終圖像: ...
總結了一下網上現有的資源,得到了一些東西。隨手做個備忘。
導入
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Noto Sans SC'] # 避免中文在Linux下出現方框
在PyCharm中使用
%matplotlib inline
%config InlineBackend.figure_format = 'svg'
# 保存圖片
plt.savefig("pict.png", bbox_inches='tight')
plt.show()
繪圖
plt.figure(figsize=(8,6), dpi=120)
plt.subplot(1,1,1) # 創建一個1x1的子圖,接下來的圖片繪製在第1塊
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)
# 繪製餘弦曲線,使用藍色的、連續的、寬度為 1 (像素)的線條
plt.plot(X, C, color="blue", linewidth=1.0, linestyle="-")
# 繪製正弦曲線,使用綠色的、連續的、寬度為 1 (像素)的線條
plt.plot(X, S, color="green", linewidth=1.0, linestyle="-")
# 設置橫軸的上下限
plt.xlim(-4.0,4.0)
# 設置橫軸記號
plt.xticks(np.linspace(-4,4,9,endpoint=True))
# 設置縱軸的上下限
plt.ylim(-1.0,1.0)
# 設置縱軸記號
plt.yticks(np.linspace(-1,1,5,endpoint=True))
# 以解析度 72 來保存圖片
# plt.savefig("exercice_2.png",dpi=72)
# 在屏幕上顯示
plt.show()
三維繪圖
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = Axes3D(fig)
x=np.arange(-2*np.pi,2*np.pi,0.1)
y=np.arange(-2*np.pi,2*np.pi,0.1)
X, Y = np.meshgrid(x, y) #網格的創建,這個是關鍵
Z=np.sin(X)*np.cos(Y)
plt.xlabel('x')
plt.ylabel('y')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
plt.show()
最終圖像: