问题:
如果选择plot选项stacked = False,就会得到数据的正确x轴输出。

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

我是不是漏掉了什么明显的东西?
数据
DataFrame.to_dict()输出这里
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')发布于 2017-01-26 20:29:10
堆叠的地块将个别的条子叠在一起,而不是重叠数据。例如,你在2016-12-16的最高值是25 (开放到最后),30 (向最大高度开放),在堆叠的地块中是25和30叠加在一起,在55。
发布于 2017-01-26 20:28:55
它们并不是更高,它们只是堆叠在一起。
例如,在您的第一个图中,您的顶部栏2016-12-16 11:30:00 - OpenToLast值为25,OpenToMaxHigh值为31。
然而,当stacked=True时,它们仍然具有相同的值,但它们是相对的。虽然OpenToLast仍然是25,但是您的OpenToMaxHigh值看起来好像是从0到56,但是它实际上是从OpenToLast结束的位置开始的:即从25到56,这是它的正确值(31)。
我想这可能是你错过的“明显”的东西,只是我的两分钱。
https://stackoverflow.com/questions/41882232
复制相似问题