堆积条形图更改x轴绘图编号值

时间:2017-01-26 20:18:58

标签: python pandas plot

问题:

如果我选择plot选项stacked = False,我会获得正确的x轴输出。

false stacked

然而,当我使用stacked = True时,我得到的输出不正确,在x轴上显示更高(不正确)的值。除了stacked选项之外,没有其他任何改变。

enter image description here

我错过了一些明显的东西吗?

数据

DataFrame.to_dict()输出here

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

cols = ['OpenToLast','OpenToMaxHigh','OpenToMaxLow']
colors = {'OpenToLast':'b', 'OpenToMaxHigh' : '#CCD1F5', 'OpenToMaxLow': '#C6DAF4'}


axnum = auction[cols].plot(kind='barh',
                        figsize=(6,8),   
                        fontsize=9,
                        color=[colors[i] for i in cols],
                        edgecolor = "none",   
                        stacked = False,  
                        legend = True)

axnum.xaxis.set_major_locator(ticker.MultipleLocator(5))
plt.axvline(0, color='B')

2 个答案:

答案 0 :(得分:3)

堆积图将各个条形堆叠在一起而不是重叠数据。例如,您在2016-12-16的最高值是25(开放到最后),30(开到最大高点),在堆积图中是25和30堆叠在一起55

答案 1 :(得分:2)

它们实际上并不高,它们只是堆叠在一起。

例如,在您的第一个图表中,您的顶栏2016-12-16 11:30:00 - OpenToLast值为25,OpenToMaxHigh值为31。

但是当stacked = True时,它们仍具有相同的值,但它们彼此相对。虽然OpenToLast仍为25,但您的OpenToMaxHigh值看起来好像从0到56,但它实际上从OpenToLast结束开始:即从25到56,这是正确的值(31)。

我认为这可能是你错过的“显而易见”的东西,只是我的两分钱。