【问题标题】:plot selected columns as bar and time series using Pandas使用 Pandas 将选定的列绘制为条形图和时间序列
【发布时间】:2016-04-17 21:15:06
【问题描述】:

我有 5 个列表并将它们添加到 pandas 数据框中,并希望将最后 3 个(范围:1-10)绘制为堆积条,将其他 2 个(范围:30-100)绘制为时间序列。堆叠条在底部作为单独的图,在其上方是时间序列。样本数据如下:

           A           B        C      D      E
0        41.62       41.62      0      1      0
1        65.67       33.19      3      0      1
2        46.51       32.47      3      1      0
3        40.91       40.91      0      1      0
4        88.37       32.10      1      1      1
5        46.71       46.71      0      1      0
6        33.24       33.24      1      0      0
7         0.00        0.00      0      0      0
8        46.34       32.57      1      5      0
9        45.41       32.84      1      3      0
10       40.83       40.83      0      1      0

如果将所有 5 个列表添加到同一个数据框中,只需将 3 个列表添加到数据框,但很难分隔列,可以轻松创建堆叠条:

pct_list = pd.DataFrame({'C':c,'D':d,'E':e})
# pct_list = pd.DataFrame({'A':a,'B':b,'C':c,'D':d,'E':e})
pct_list.plot.bar(stacked=True)
plt.ylim([0,10])
plt.grid()
plt.show()

请建议如何分别创建绘图和控制轴限制。

【问题讨论】:

    标签: python pandas


    【解决方案1】:
    ax=df.plot.bar(['A','B'],['C','D','E'],stacked=True)
    

    改善 xlabels 显示:

    ax.figure.tight_layout()
    plt.draw()
    

    【讨论】:

    • A 和 B 是我想在子图中拥有的单独时间序列。 x 轴标签的范围应为 0-29,但您的建议实际上是使用 A 和 B 的值作为 x 轴标签
    猜你喜欢
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 2018-05-15
    • 2022-06-13
    • 1970-01-01
    • 2017-10-13
    相关资源
    最近更新 更多