Pandas 直方图标签和标题

Posted

技术标签:

【中文标题】Pandas 直方图标签和标题【英文标题】:Pandas histogram Labels and Title 【发布时间】:2015-12-17 13:27:31 【问题描述】:

我正在尝试将 x 轴和 y 轴标签以及标题放在我通过 Pandas 创建的三面板直方图上,但似乎无法正确放置。我得到的唯一结果是标题和三个图表中最后一个的 x 轴标签。我想要一个整体标题,xlabel 和 ylabel。制作情节的代码如下。有什么建议吗?

df1.hist(column='human_den',by='region',sharex=True,sharey=True,layout=(1,3))

【问题讨论】:

现在可以将plot() 函数与kindtitlexlabelylabel 一起使用,只需将标题和轴标签添加到直方图即可。 plot(kind='hist', title='my Title', xlabel='x axis', ylabel='y axis') 【参考方案1】:

根据接受的答案here,使用subplots 创建Figureaxis 对象实例。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# random data
df1 = pd.DataFrame(columns=['human_den','region'])
df1['human_den'] = np.random.rand(100)
df1['region'] = np.random.choice(['Northeast', 'South', 'Midwest'], size=100)

# set up figure & axes
fig, axes = plt.subplots(nrows=1, ncols=3, sharex=True, sharey=True)

# drop sharex, sharey, layout & add ax=axes
df1.hist(column='human_den',by='region', ax=axes)

# set title and axis labels
plt.suptitle('Your Title Here', x=0.5, y=1.05, ha='center', fontsize='xx-large')
fig.text(0.5, 0.04, 'common X', ha='center')
fig.text(0.04, 0.5, 'common Y', va='center', rotation='vertical')

注意,df1.hist()中没有赋值关键字参数sharexshareylayout,有利于在@987654338中设置sharexshareynrowsncols @ 实现类似的效果。重要的元素是将df.hist() 的关键字参数ax 分配给先前初始化的axes 对象。标题可以用suptitle设置。

【讨论】:

以上是关于Pandas 直方图标签和标题的主要内容,如果未能解决你的问题,请参考以下文章

Python中Pandas/Matplotlib中直方图和密度的叠加

使用 matplotlib 和 pandas 从 csv 文件中绘制直方图

如何在 Pandas 中使用预聚合数据绘制直方图?

使用直方图的 Matplotlib/Pandas 错误

matplotlib/pandas 中是不是有参数将直方图的 Y 轴作为百分比?

使用 Pandas 的日期时间每小时直方图 [重复]