为什么我的图表侧面有间隙? (matplotlib / PY)

时间:2016-08-11 09:53:19

标签: python matplotlib

列出了5个表示对象序列的元素。即元素0代表数字1,依此类推。因此,我必须这样做才能在图表上正确显示这些数字:

higher_chances.insert(0, 0)
plt.xlim(1,len(higher_chances))
plt.xticks(range(1, len(higher_chances)))

所以基本上,我在列表的开头插入一个0,然后忽略它。如果有更好的方法,请告诉我

因此,我现在在图表的右侧有一个间隙,无法弄清楚如何删除它。任何帮助将不胜感激

enter image description here

列表:[0,47.0,46.0,45.0,45.0,43.0]

以下所有代码:

# Inset 0 at first index so index 1 reflect sequence of 1 candle
higher_chances.insert(0, 0)

# Convert to actual percentages for presentation
higher_chances = [ elem*100 for elem in higher_chances]

plt.plot(higher_chances)
plt.ylim(min(higher_chances[1:]), max(higher_chances[1:]))
plt.xlim(1,len(higher_chances))
plt.xticks(range(1, len(higher_chances)))

plt.xlabel('Number of consecutive bull candles', fontsize=15)
plt.ylabel('% chance of another bull candle following', fontsize=15)

plt.show()

编辑:

如果我在不更改其他代码的情况下添加plt.axis('tight'),则图表会更改为:

enter image description here

如果我取出xlim/ylim并添加plt.axis('tight'),则图表不会因上述情况而改变。

1 个答案:

答案 0 :(得分:0)

更改:

plt.xlim(1,len(higher_chances))

要:

plt.xlim(1,len(higher_chances)-1)

enter image description here

但请保留以下内容,如果按上述方法添加-1,则删除最后一个标签:

plt.xticks(range(1, len(higher_chances)))

enter image description here