1. 程式人生 > >2、matplotlib 基本圖表大全(極簡)

2、matplotlib 基本圖表大全(極簡)

主目錄

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()

這裡寫圖片描述