问题:
如果我选择plot
选项stacked = False
,我会获得正确的x轴输出。
然而,当我使用stacked = True
时,我得到的输出不正确,在x轴上显示更高(不正确)的值。除了stacked
选项之外,没有其他任何改变。
我错过了一些明显的东西吗?
数据
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')
答案 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)。
我认为这可能是你错过的“显而易见”的东西,只是我的两分钱。