Hướng dẫn 2d density plot python - Python âm mưu mật độ 2d
Phần này giải thích cách xây dựng biểu đồ mật độ 2D hoặc biểu đồ 2D với Python. Các loại biểu đồ cho phép trực quan hóa phân phối kết hợp của hai biến định lượng. Chúng có thể được xây dựng với Show Biểu đồ mật độ 2D là gì?Có một số loại biểu đồ cho phép trực quan hóa phân phối kết hợp 2 biến số. Chúng luôn có một biến được biểu thị trên trục X, cái còn lại trên trục y, giống như cho một biểu đồ phân tán (trái). Sau đó, số lượng quan sát trong một khu vực cụ thể của không gian 2D được tính và biểu thị bằng một gradient màu. Hình dạng có thể thay đổi: Hexagones dẫn đến # Extract x and y0, hình vuông trong # Extract x and y1. Ước tính mật độ hạt nhân có thể được sử dụng để có được # Extract x and y2 hoặc # Extract x and y3 Gây nhầm lẫn? Truy cập dữ liệu-đến-viz để làm rõ .. Biểu đồ đường viền với SeabornBiểu đồ đường viền có thể dễ dàng được xây dựng nhờ chức năng # Extract x and y5 của Thư viện Seaborn. Biểu đồ 2D với SeabornXây dựng biểu đồ 2D nhờ hàm # Extract x and y7 của thư viện Seaborn . Đừng quên chơi với đối số # Extract x and y9 để tìm giá trị đại diện cho dữ liệu tốt nhất của bạn. Biểu đồ hexbin với MatplotlibTách diện tích đồ thị thành hình lục giác và bạn nhận được biểu đồ mật độ hexbin. Lần này, đó là positions = np.vstack([xx.ravel(), yy.ravel()]) 1 giúp bạn được bảo hiểm nhờ vào chức năng positions = np.vstack([xx.ravel(), yy.ravel()]) 2 của nó.Biểu đồ mật độ 2D với MatplotlibMật độ 2D được tính toán nhờ hàm positions = np.vstack([xx.ravel(), yy.ravel()]) 4 và được vẽ cảm ơn với chức năng positions = np.vstack([xx.ravel(), yy.ravel()]) 5 của positions = np.vstack([xx.ravel(), yy.ravel()]) 6.Mật độ 2D và lô cận biênMật độ 2D thường kết hợp với phân phối cận biên. Nó giúp làm nổi bật phân phối của cả hai biến riêng lẻ. Thật là đơn giản để thêm nhờ vào chức năng positions = np.vstack([xx.ravel(), yy.ravel()]) 7 của thư viện Seaborn . Cách trực quan hóa phân phối chungBài đăng này sẽ chỉ cho bạn cách để:
Hãy bắt đầu bằng cách tạo một bộ dữ liệu đầu vào bao gồm 3 đốm: import numpy as np Để phù hợp với hạt nhân Gaussian, chúng tôi chỉ định một Meshgrid sẽ sử dụng nội suy 100 điểm trên mỗi trục (ví dụ: MGRID (XMIN: XMAX: 100J)): # Extract x and y Chúng tôi sẽ phù hợp với một hạt nhân Gaussian bằng phương pháp SCIPY Gaussian_kde: positions = np.vstack([xx.ravel(), yy.ravel()]) Vẽ kernel với các đường viền chú thíchfig = plt.figure(figsize=(8,8)) Đối tượng matplotlib thực hiện toàn bộ phép thuật được gọi là bộ QuadContour (CSET trong mã). Chúng ta có thể lập trình truy cập các dòng đường viền bằng cách lặp qua đối tượng AllSegs. Các nhãn được tính toán có thể truy cập từ LabelTexts. plt.figure(figsize=(8,8))for j in range(len(cset.allsegs)): Các lô KDE 3DChúng tôi sẽ sử dụng matplotlib từ AXES3D từ MPLOT3D. Chúng ta có thể vẽ mật độ như một bề mặt: fig = plt.figure(figsize=(13, 7)) Hoặc như một khung dây: fig = plt.figure(figsize=(13, 7)) Đại diện sử dụng biểu đồ 2D Một cách khác để trình bày cùng một thông tin là sử dụng biểu đồ 2D. Đặt tham số được định mức thành return false returns tần số thực tế trong khi thực sự trả về pdf. h =plt.hist2d(x, y) Toàn bộ mã có sẵn trên GitHub. |