【发布时间】:2019-04-15 15:54:27
【问题描述】:
我正在尝试创建一个关于大学授予的学位的条形图,其中显示两件事:第一个条应显示过去一年授予学位的总百分比,然后条 2、3 和 4 应显示百分比5 / 10 / 15 年前授予的学位之间的差异。
我能够将这些都表示为从 0 开始。但是有没有办法将百分比差异与 y = 当前总百分比(条 1)的顶部而不是 y = 0 对齐?
我现在创建的图表是这样的(使用基本的 pandas df.plot(kind = 'bar'):
我想要做的是移动黄色、绿色和红色条(显示 05、10、15 年增量的变化),使它们开始与蓝色条的顶部对齐(在最左边每个组)。
我已阅读以下主题:
How do I create a bar chart that starts and ends in a certain range
100% Stacked Bar Chart in MatPlotLib
但不确定如何制作我想要创建的精确图表。
非常感谢。
【问题讨论】:
-
您是否有指向您心目中的图表的链接?我无法想象你想要做什么
-
我已经通过为我想要绘制的每组 4 个数组创建数组来手动创建它:link(我无法将用于创建它的代码添加到易于阅读的方式-简而言之,我为每组 4 个数组创建了数组,并计算了每个条形的起始
y值,然后使用ax.bar(x_alignment, bottom = y_start, height = bar_height)的格式将条形图从起始y值中绘制出来。可能是这样最好的方法并遍历我想要绘制的每个分组(并且通过 pandas 没有一个好的方法)。 -
好的,我添加了一个我认为接近你想要实现的答案
标签: python pandas matplotlib