【问题标题】:How do I plot a Histogram using Matplotlib for two variables [duplicate]如何使用 Matplotlib 为两个变量绘制直方图 [重复]
【发布时间】:2018-09-08 03:50:49
【问题描述】:

我正在尝试根据两列(即状态和生产)在 python 中绘制直方图。我的数据框如下所示:

State Year Area production
AB    2014 20000 21674
BS    2014 35000 116074
TS    2014 20000 32678

我的要求是在 x 轴上有状态,在 y 轴上有生产水平

下面是我写的代码:

%matplotlib inline
fig=plot.figure(figsize=(8,10))
ax=fig.gca()
Pulse_yield['State'].hist(x, bin =30)
ax.set_title('Yield in 2014')
ax.set_xlabel('States')
ax.set_ylabel('Production')
plot.xticks(rotation=90)

问题是:在 x 轴上,每个州都填充了单独的值,但在 y 轴上,它显示为 0、10、20、30、40 等,而不是我在“生产”列中的值。

【问题讨论】:

  • 您似乎想绘制条形图而不是直方图。
  • 关键是您不能绘制两个变量的直方图,因为直方图显示 x 轴上的值和 y 轴上这些值的频率。
  • @ImportanceOfBeingErnest.. 感谢您的澄清 :) 您能否建议我可以将哪个情节用于我的目的。
  • 是的,bar 情节。我将此问题标记为重复。
  • @ImportanceOfBeingErnest.. 你能否建议如何做到这一点.. 或提供条形图的参考问题。

标签: python matplotlib histogram


【解决方案1】:

plt.gca 获取当前坐标区,如果需要,创建一个。它仅在最简单的 1 轴情况下等效。

首选方式是使用plt.subplots()

fig, ax = plt.subplots(1, 1)

fig, (ax1, ax2) = plt.subplots(2, 1)

等等。

【讨论】:

    猜你喜欢
    • 2015-09-19
    • 2018-03-08
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 2016-06-09
    相关资源
    最近更新 更多