如何为seaborn boxplot添加标题


107

似乎可以通过Google进行搜索,但无法在线找到有效的内容。

我已经尝试过sns.boxplot('Day', 'Count', data= gg).title('lalala')sns.boxplot('Day', 'Count', data= gg).suptitle('lalala')。没有工作。我认为可能是因为我也在使用matplotlib。

Answers:


187

Seaborn箱形图返回一个matplotlib轴实例。与具有方法的pyplot本身不同,plt.title()轴的相应参数为ax.set_title()。因此,您需要致电

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

一个完整的例子是:

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

当然,您也可以使用返回的axis实例使其更具可读性:

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

4
它的可耻性set_title()和类似功能不会return self,那会很整洁。
Laurens Koppenol,

@LaurensKoppenol Matplotlib的信条是返回该方法创建或操作的对象。这是一个灵活性问题;matplotlib明确希望为用户提供这种灵活性。位于matplotlib之上的更高级的API通常会决定允许链接,但是在那些情况下,当您需要某些非标准行为时,便难以处理基础对象。
ImportanceOfBeingErnest

当结合使用matplotlib的各种接口时,我绝对同意
Laurens Koppenol

AttributeError:“ FacetGrid”对象没有属性“ set_title”
Dumb ML


10

sns.boxplot()函数返回Axes(matplotlib.axes.Axes)对象。请参考 可以使用“设置”方法添加标题的文档,如下所示:

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

您还可以将其他参数(例如xlabel,ylabel)添加到set方法中。

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

matplotlib.axes.Axes文档中提到了一些其他方法来添加平铺,图例和标签。


6

对于单个箱线图:

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

对于同一图中的更多箱形图:

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

例如

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.