[英]How to add y-axis label to df.boxplot
我从数据框中生成一个箱线图:
bplot = df.boxplot(
column=column_name,
by=list1,
fontsize=8,
layout=(2,1),
rot=90,
figsize=(25,20)
)
其中df
是我的数据框, column_name
是我想要的列,而list1
是用于 groupby 的列表?
我想用字符串标记我的 y 轴。 试过这个:
plt.ylabel('ylabel')
但不起作用。
DataFrame.boxplot() 函数返回 Axes 对象。 因此,不要使用bplot.ylabel('ylabel')
这是 pyplot 对象的函数,而是尝试使用:
bplot.set_ylabel('ylabel')
如果仍然出现错误,请确保在调用 boxplot() 函数后立即编写该行。
作为替代方案,您还可以先创建 pyplot 子图,以生成您需要的轴对象。 然后您可以在 boxplot 函数参数上指定轴对象:
from matplotlib import pyplot as plt
fig, ax = plt.subplot()
ax = df.boxplot(
column=column_name,
by=list1,
fontsize=8,
layout=(2,1),
rot=90,
figsize=(25,20),
ax=ax
)
您首先需要将pd.DataFrame.boxplot()
return_type
参数定义为'axes'
。 它将返回一个包含matplotlib.axes._subplots.AxesSubplot
对象的具有单个值的pandas.Series
。 然后,您可以像操作任何 matplotlib 轴对象一样操作此对象:
bbplot = df.boxplot(column=column_name,
by=list1,
fontsize=8,
layout=(2,1),
rot=90,
figsize=(25,20),
return_type='axes')
bbplot[0].set_ylabel('yaxis')
尝试这个:
bplot.set_ylabel('ylabel')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.