Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để hiển thị một phân phối lưỡng biến đơn giản bằng cách sử dụng ‘imshow’ trong Matplotlib Python?


Matplotlib là một gói Python phổ biến được sử dụng để trực quan hóa dữ liệu. Trực quan hóa dữ liệu là một bước quan trọng vì nó giúp hiểu những gì đang diễn ra trong dữ liệu mà không cần thực sự nhìn vào các con số và thực hiện các phép tính phức tạp.

Nó giúp truyền đạt những hiểu biết định lượng cho khán giả một cách hiệu quả. Matplotlib được sử dụng để tạo các đồ thị 2 chiều với dữ liệu. Nó đi kèm với một API hướng đối tượng giúp nhúng các lô trong các ứng dụng Python. Matplotlib có thể được sử dụng với trình bao IPython, sổ ghi chép Jupyter, Spyder IDE, v.v.

Nó được viết bằng Python. Nó được tạo bằng cách sử dụng Numpy, là gói Python số trong Python.

Python có thể được cài đặt trên Windows bằng lệnh dưới đây -

pip install matplotlib

Các phụ thuộc của Matplotlib là -

Python ( greater than or equal to version 3.4)
NumPy
Setuptools
Pyparsing
Libpng
Pytz
Free type
Six
Cycler
Dateutil

Phân phối hai biến là xác suất mà một sự kiện nhất định sẽ xảy ra khi có hai biến ngẫu nhiên độc lập.

Hàm 'imshow' thường được sử dụng để hiển thị hình ảnh cũng như các biểu đồ trong Matplotlib.

Hãy cho chúng tôi hiểu cách Matplotlib có thể được sử dụng để vẽ biểu đồ phân phối hai biến -

Ví dụ

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

Đầu ra

Làm cách nào để hiển thị một phân phối lưỡng biến đơn giản bằng cách sử dụng ‘imshow’ trong Matplotlib Python?

Giải thích

  • Các gói bắt buộc được nhập và bí danh của nó được xác định để dễ sử dụng.

  • Dữ liệu được tạo bằng cách sử dụng chức năng "hạt giống" của thư viện "ngẫu nhiên".

  • Dữ liệu được tạo bằng thư viện ‘Numpy’ cho hai tập dữ liệu khác nhau.

  • Một hình trống được tạo bằng cách sử dụng hàm "figure".

  • Hàm 'subplot' được sử dụng để tạo 2 ô riêng biệt trong cùng một ô.

  • Dữ liệu được vẽ bằng hàm "plot".

  • Các hàm set_xlabel, set_ylabel và set_title được sử dụng để cung cấp nhãn cho trục ‘X’, trục ‘Y’ và tiêu đề.

  • Hình này được gán cho một biến bằng cách sử dụng hàm 'imshow'.

  • Nó được hiển thị trên bảng điều khiển bằng cách sử dụng chức năng "show".