2
我想在同一幅图中绘制几个直方图组。每个组包含两个条件,因此我使用熊猫直方图选项中的'by ='参数。然而,这并不像我预期的那样工作,大熊猫创造了一个新的数字,而不是在我正在通过的轴上进行绘图。我试图通过四个轴,但仍然没有去。示例代码:如何在大熊猫中用DataFrame.hist(by =)绘制特定坐标轴
import pandas as pd
df = pd.DataFrame({'color': ['blue','blue','yellow','blue','yellow'], 'area': [2,2,3,4,4]})
fig, (ax1, ax2) = plt.subplots(1,2)
df.area.hist(by=df.color, ax=ax1)
我使用的是熊猫0.12.0,matplotlib 1.3.0和python 2.7.5。任何可以导致将多个'hist(by =) - 拼图'拼接/缝合在同一个子图网格中的方法都是值得欢迎的。
更新:
也许这说明我想更准确地达到的目标。
import pandas as pd
df = pd.DataFrame({'color': ['blue','blue','yellow','blue','yellow'], 'area': [2,2,3,4,4]})
#fig, (ax1, ax2) = plt.subplots(1,2)
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2,2)
ax3.plot([[2,2], [3,6]])
ax4.plot([[3,6], [2,2]])
df.area.hist(by=df.color, ax=ax1)
理想情况下,在我的例子中,熊猫直方图是1,2,然后应该将ax1分成两个子图。或者,可以将其绘制到ax1和ax2中,然后用户可以确保可以使用正确数量的空子图。
哪个版本您使用的? –
我看到与pandas v 0.10.0相同的行为。似乎变量'ax'在创建柱状图 –
熊猫0.12.0,matplotlib 1.3.0和python 2.7.5的过程中丢失了某处。该问题也增加了版本号。 –