บทนำ
Bivariate Distribution แสดงความน่าจะเป็นร่วมของตัวแปรสุ่มอิสระ 2 ตัว ใช้ imshow แสดงเป็น Heatmap/Intensity Plot
การติดตั้ง
pip install matplotlib
Dependencies
Python>=3.4, NumPy, Setuptools, Pyparsing, Libpng, Pytz, FreeType, Six, Cycler, Dateutil
ตัวอย่างโค้ด
import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
from matplotlib.path import Path
from matplotlib.patches import PathPatch
np.random.seed(9654241)
delta = 0.025
x = y = np.arange(-4.5, 4.5, delta)
X, Y = np.meshgrid(x, y)
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
fig, ax = plt.subplots()
plt.title('A bivariate distribution')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
im = ax.imshow(Z, interpolation='bilinear', origin='lower',
extent=[-3, 3, -3, 3],
vmax=abs(Z).max(), vmin=-abs(Z).max())
plt.show()คำอธิบาย
สร้าง Gaussian 2D สองจblob แล้วลบกัน (Difference of Gaussians)
ใช้
imshowกำหนดextent(พิกัดขอบ),vmin/vmax(สเกลสี),interpolationorigin='lower': เริ่มต้นมุมซ้ายล่าง