繁体   English   中英

如何将 y 轴标签添加到 df.boxplot

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM