Nó phụ thuộc một chút vào chức năng seaborn bạn đang sử dụng.
Các chức năng lập biểu đồ trong seaborn được chia rộng rãi thành hai lớp
- Chức năng "Axes cấp", bao gồm
regplot
, boxplot
, kdeplot
, và nhiều người khác
- "Hình cấp" chức năng, bao gồm
lmplot
, factorplot
, jointplot
và một hoặc hai người khác
Nhóm đầu tiên được xác định bằng cách lấy một ax
đối số rõ ràng và trả về một Axes
đối tượng. Như điều này gợi ý, bạn có thể sử dụng chúng theo kiểu "hướng đối tượng" bằng cách chuyển của bạn Axes
cho chúng:
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
Các hàm cấp Axes sẽ chỉ vẽ vào một Axes
và sẽ không gây rối với hình, vì vậy chúng có thể cùng tồn tại một cách hoàn hảo vui vẻ trong một tập lệnh matplotlib hướng đối tượng.
Nhóm chức năng thứ hai (ở mức Hình) được phân biệt bởi thực tế là biểu đồ kết quả có thể bao gồm một số Trục luôn được tổ chức theo cách "có ý nghĩa". Điều đó có nghĩa là các chức năng cần phải có toàn quyền kiểm soát đối với hình vẽ, vì vậy không thể vẽ đồ thị, ví dụ, một lmplot
cái đã tồn tại. Việc gọi hàm luôn khởi tạo một hình và thiết lập nó cho biểu đồ cụ thể mà nó đang vẽ.
Tuy nhiên, khi bạn đã gọi lmplot
, nó sẽ trả về một đối tượng cùng loại FacetGrid
. Đối tượng này có một số phương pháp để vận hành trên âm mưu kết quả biết một chút về cấu trúc của lô. Nó cũng hiển thị hình cơ bản và mảng các trục tại đối số FacetGrid.fig
và FacetGrid.axes
. Các jointplot
chức năng là rất giống nhau, nhưng nó sử dụng một JointGrid
đối tượng. Vì vậy, bạn vẫn có thể sử dụng các hàm này trong ngữ cảnh hướng đối tượng, nhưng tất cả các tùy chỉnh của bạn phải đến sau khi bạn gọi hàm.