天天看點

「Python」matplotlib備忘導入在PyCharm中使用繪圖三維繪圖

總結了一下網上現有的資源,得到了一些東西。随手做個備忘。

更多設定見:https://matplotlib.org/users/customizing.html。

導入

import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Noto Sans SC'] # 避免中文在Linux下出現方框
mpl.rcParams['axes.linewidth'] = 1.5 # 設定坐标軸線寬

import seaborn as sns # 比較好看的繪圖風格
sns.set() # 設定           

複制

在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) # 範圍是[-pi,pi],個數是250個。如果不加endpoint屬性是(-pi,pi)
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))

# 增加圖例,在右上角
plt.legend(loc='upper right')

# 以分辨率 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()           

複制

最終圖像:

「Python」matplotlib備忘導入在PyCharm中使用繪圖三維繪圖