Matplotlib Secondary_y导致情节向右移动

时间:2018-02-28 17:00:06

标签: python matplotlib

我希望有人可以帮我解决问题。

我试图在条形图上绘制折线图。以下是折线图和代码的链接:

fig, ax = plt.subplots(figsize=(10, 5), sharex = True)
#df_plot.plot(ax = ax, y='D', kind = 'bar', legend = False)
df_plot.plot(ax = ax, secondary_y = True, y = 'E', kind = 'line', c = 'r')
plt.show()

Line Graph

条形图:

fig, ax = plt.subplots(figsize=(10, 5), sharex = True)
df_plot.plot(ax = ax, y='D', kind = 'bar', legend = False)
#df_plot.plot(ax = ax, secondary_y = True, y = 'E', kind = 'line', c = 'r')
plt.show()

Bar Graph

但是当我尝试将图形组合到一个图形上时,折线图会向右移动一个。

fig, ax = plt.subplots(figsize=(10, 5), sharex = True)
df_plot.plot(ax = ax, y='D', kind = 'bar', legend = False)
df_plot.plot(ax = ax, secondary_y = True, y = 'E', kind = 'line', c = 'r')
plt.show()

Combined Graph

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:0)

没有"转移"。
这些条的位置使得第一个条开始于位置0,第二个条开始于1等。线图从位置1开始;这是第二个条显示的位置。只是由于标签,这似乎是错误的。但请注意,该标签还可以读取" banana"在这种情况下,人们不会对由此产生的情节产生太多疑惑。

为了克服这个问题,您可以手动将线图移动1个单位。