Cách thêm tiêu đề vào boxplot seaborn


107

Có vẻ như Google khá khả thi nhưng không thể tìm thấy thứ gì đó trực tuyến hoạt động.

Tôi đã thử cả hai sns.boxplot('Day', 'Count', data= gg).title('lalala')sns.boxplot('Day', 'Count', data= gg).suptitle('lalala'). Không có tác dụng nào. Tôi nghĩ có thể là do tôi cũng đang làm việc với matplotlib.

Câu trả lời:


187

Biểu đồ hộp Seaborn trả về một thể hiện trục matplotlib. Không giống như bản thân pyplot, có một phương thức plt.title(), đối số tương ứng cho một trục là ax.set_title(). Do đó bạn cần gọi

sns.boxplot('Day', 'Count', data= gg).set_title('lalala')

Một ví dụ hoàn chỉnh sẽ là:

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")
sns.boxplot(x=tips["total_bill"]).set_title("LaLaLa")

plt.show()

Tất nhiên bạn cũng có thể sử dụng phiên bản trục được trả về để làm cho nó dễ đọc hơn:

ax = sns.boxplot('Day', 'Count', data= gg)
ax.set_title('lalala')
ax.set_ylabel('lololo')

4
Điều đó thật đáng xấu hổ set_title()và các chức năng tương tự thì không return self, điều đó sẽ gọn gàng.
Laurens Koppenol

@LaurensKoppenol Bản lĩnh của Matplotlib là trả về đối tượng mà phương thức tạo hoặc thao tác. Đây là một câu hỏi về tính linh hoạt; và matplotlib rõ ràng muốn cung cấp cho người dùng sự linh hoạt này. Các API cấp cao hơn nằm trên matplotlib thường quyết định cho phép chuỗi, nhưng trong những trường hợp đó, bạn gặp vấn đề khi thao tác các đối tượng bên dưới khi muốn một số hành vi không chuẩn.
ImportanceOfBeingErnest

khi kết hợp các giao diện khác nhau matplotlib đã chắc chắn tôi đồng ý
Laurens Koppenol

AttributeError: Đối tượng 'FacetGrid' không có thuộc tính 'set_title'
Dumb ML

29

Hãy thử thêm cái này vào cuối mã của bạn:

import matplotlib.pyplot as plt

plt.title('add title here')

10

Hàm sns.boxplot () trả về đối tượng Axes (matplotlib.axes.Axes). vui lòng tham khảo tài liệu bạn có thể thêm tiêu đề bằng phương pháp 'set' như dưới đây:

sns.boxplot('Day', 'Count', data=gg).set(title='lalala')

bạn cũng có thể thêm các tham số khác như xlabel, ylabel vào phương thức set.

sns.boxplot('Day', 'Count', data=gg).set(title='lalala', xlabel='its x_label', ylabel='its y_label')

Có một số phương pháp khác như đã đề cập trong tài liệu matplotlib.axes.Axes để thêm ô, chú giải và nhãn.


6

Đối với một ô vuông:

import seaborn as sb
sb.boxplot(data=Array).set_title('Title')

Để biết thêm các boxplot trong cùng một cốt truyện:

import seaborn as sb
sb.boxplot(data=ArrayofArray).set_title('Title')

ví dụ

import seaborn as sb
myarray=[78.195229, 59.104538, 19.884109, 25.941648, 72.234825, 82.313911]
sb.boxplot(data=myarray).set_title('myTitle')

4

.set_title ('') có thể được sử dụng để thêm tiêu đề cho Seaborn Plot

import seaborn as sb
sb.boxplot().set_title('Title')
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.