Tôi muốn tạo một ô phân tán của gấu trúc DataFrame với các nhãn hàng và cột bằng cách sử dụng matplotlib
. Một DataFrame mẫu giống như sau:Phân tán âm mưu gấu trúc DataFrame với các hàng/cột được gắn nhãn theo thứ tự
import pandas as pd
df = pd.DataFrame({"a": [1,2], "b": [3,4]}, index=["c","d"])
# a b
#c 1 2
#d 3 4
Kích thước đánh dấu là hàm của các giá trị DataFrame tương ứng. Cho đến nay, tôi đã đưa ra một giải pháp khó xử về cơ bản liệt kê các hàng và cột, vẽ dữ liệu và sau đó xây dựng lại các nhãn:
flat = df.reset_index(drop=True).T.reset_index(drop=True).T.stack().reset_index()
# level_0 level_1 0
#0 0 0 1
#1 0 1 2
#2 1 0 3
#3 1 1 4
flat.plot(kind='scatter', x='level_0', y='level_1', s=100*flat[0])
plt.xticks(range(df.shape[1]), df.columns)
plt.yticks(range(df.shape[0]), df.index)
plt.show()
Bây giờ, câu hỏi: Có cách nào trực quan hơn, tích hợp hơn để tạo ra âm mưu phân tán này, lý tưởng mà không tách dữ liệu và siêu dữ liệu?
Tôi không nghĩ rằng chúng ta có thể sử dụng dữ liệu phi số cho âm mưu. AFAIK, bạn sẽ phải đặt ve một cách riêng biệt ... – MaxU
Tôi đoán câu hỏi được dịch trong * "Tại sao thư viện không triển khai chức năng tùy chỉnh âm mưu tùy chỉnh của tôi?" *. – ImportanceOfBeingErnest