2、matplotlib 基本圖表大全(極簡)
阿新 • • 發佈:2019-02-03
1、熱力圖、等高線圖、三維曲面圖
1.1、建立資料
import numpy as np
import matplotlib.pyplot as mp
a = np.linspace(-3, 3, 999)
x, y = np.meshgrid(a, a)
z = (1 - x / 2 + x ** 5 + y ** 3) * np.exp(-x ** 2 - y ** 2)
1.2、熱力圖
# 繪製熱力圖
mp.imshow(z, origin='low', cmap='jet')
# 顏色條
mp.colorbar()
# 展示視窗
mp.show()
1.3、等高線圖
# 繪製等高線
cntr = mp.contour(x, y, z, colors='black')
# 填充顏色
mp.contourf(x, y, z, cmap='jet')
# 顯示各等高線的資料標籤
mp.clabel(cntr, fmt='%.1f')
# 顏色條
mp.colorbar()
# 展示視窗
mp.show()
1.4、三維曲面圖
from mpl_toolkits import mplot3d
# 建立figure物件
fig = mp.figure('3D')
# 獲取3維座標軸
ax = mplot3d.Axes3D(fig)
# 繪製3d圖
ax.plot_surface(x, y, z, rstride=10, cstride=10, cmap='jet')
# 展示視窗
mp.show()
2、散點圖、三維散點圖
2.1、建立資料
import numpy as np
import matplotlib.pyplot as mp
# 建立資料
x = np.random.normal(0, 1, 99)
y = np.random.normal(0, 1, 99)
z = np.random.normal(0, 1, 99)
2.2、散點圖
mp.scatter(x, y, s=111, alpha=0.4 )
mp.show()
2.3、三維散點圖
from mpl_toolkits import mplot3d
# 建立figure物件
fig = mp.figure('3D Scatter')
# 獲取3維座標軸
ax = mplot3d.Axes3D(fig)
# 3維散點圖
ax.scatter(x, y, z, s=111, alpha=0.3)
# 展示視窗
mp.show()
3、折線圖、條形圖、餅圖
3.1、建立資料
import matplotlib.pyplot as mp
# 建立資料
x = ['3/11', '3/12', '3/13', '3/14']
y = [4, 1, 3, 2]
3.2、折線圖
mp.plot(x, y)
mp.show()
3.3、條形圖
mp.bar(x, y)
mp.show()
3.4、餅圖
mp.pie(y, labels=x)
mp.show()
4、對數座標
import numpy as np
import matplotlib.pyplot as mp
# 建立資料
y = np.array([1, 10, 100, 1000, 10000])
# semilogy(水平座標陣列, 垂直座標陣列, ...)
mp.semilogy(y, 'o')
# 展示視窗
mp.show()
5、極座標
import numpy as np
import matplotlib.pyplot as mp
# 建立資料
t = np.linspace(0, 2 * np.pi, 1001)
r_spiral = 0.8 * t
# 獲取極座標
mp.gca(projection='polar')
# mp.plot(極角, 極徑, ...)
mp.plot(t, r_spiral, label=r'$\rho=0.8\theta$')
# 顯示標籤
mp.legend()
# 展示視窗
mp.show()