将标题添加到pandas hist图的集合中

dre*_*eme 25 python title histogram pandas

我正在寻找关于如何在由pandas df.hist()命令生成的直方图集合顶部显示标题的建议.例如,在下面的代码生成的直方图图块中,我想在图的顶部放置一个通用标题(例如"我的直方图图集"):

data = DataFrame(np.random.randn(500).reshape(100,5), columns=list('abcde'))
axes = data.hist(sharey=True, sharex=True)
Run Code Online (Sandbox Code Playgroud)

我已尝试在hist命令中使用title关键字(即title ='我的直方图图集'),但这不起作用.

以下代码通过向其中一个轴添加文本(在ipython笔记本中)可以正常工作,但有点像kludge.

axes[0,1].text(0.5, 1.4,'My collection of histogram plots', horizontalalignment='center',
               verticalalignment='center', transform=axes[0,1].transAxes)
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

Fil*_*zza 28

对于较新的Pandas版本,如果有人感兴趣,这里只有一个与Pandas略有不同的解决方案:

ax = data.plot(kind='hist',subplots=True,sharex=True,sharey=True,title='My title')
Run Code Online (Sandbox Code Playgroud)


HYR*_*YRY 23

你可以使用suptitle():

import pylab as pl
from pandas import *
data = DataFrame(np.random.randn(500).reshape(100,5), columns=list('abcde'))
axes = data.hist(sharey=True, sharex=True)
pl.suptitle("This is Figure title")
Run Code Online (Sandbox Code Playgroud)

  • 有没有任何技术上的原因`hist()`不能有一个命名的`title`参数? (37认同)
  • 列表中有“1.1.2”版本... (2认同)

小智 9

我找到了一个更好的方法:

plt.subplot(2,3,1)  # if use subplot
df = pd.read_csv('documents',low_memory=False)
df['column'].hist()
plt.title('your title')
Run Code Online (Sandbox Code Playgroud)

这很容易,在顶部显示良好,不会弄乱你的子情节.


Cre*_*oat 9

对于matplotlib.pyplot,您可以使用:

import matplotlib.pyplot as plt
# ...
plt.suptitle("your title")
Run Code Online (Sandbox Code Playgroud)

或者如果你Figure直接使用一个对象,

import matplotlib.pyplot as plt
fig, axs = plt.subplots(...)
# ...
fig.suptitle("your title")
Run Code Online (Sandbox Code Playgroud)

请参阅此示例