微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 matplotlib 直方图子图上形成 xtick 标签

如何解决在 matplotlib 直方图子图上形成 xtick 标签

我是 Python 新用户,也是第一次发帖,请多多包涵。

我正在编写一个函数,它将数据帧作为输入,并为 df 中的每一列提供一组直方图(作为子图)。到目前为止,我已经得到了代码来做我想做的事情。 我现在想要的是数字列的刻度标签采用 1k、1.5k 等格式,而不是 1000、1500。我可以在单个图上进行(在本网站的帮助下),但无法获得它进入我定义的函数。我已经在这个网站上尝试了几件事,但我什么都做不了。

到目前为止我的代码是这样的:

def histograms4 (df,nrows,ncols,counter):
    fig,ax = plt.subplots(nrows=nrows,ncols=ncols,figsize=(15,15))
    for i,col in enumerate(df.columns):
        plt.subplot(nrows,counter)
        plt.title(col)
        col_hist=plt.hist(df[col],color=np.random.random(3))
        plt.xticks(rotation=-45)     
        counter=counter+1
    plt.tight_layout()

我附上了输出的图像,否则看起来就像我想要的那样。任何帮助表示赞赏。此外,欢迎任何有关如何改进其余代码的建议。

histograms

编辑:有些列是数字,有些不是。我只需要将其应用于数字列。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。