我创建了以下情节:
使用以下代码:
dataframe_plot2.set_index('Class')[['HB ref', "HB tussenfase","HB raaigras"]].T.plot(kind='bar', stacked=True,width=0.1)
plt.legend(loc='center left', bbox_to_anchor=(1.0, 0.5))
但是,x轴刻度之间的间隔很大。我希望这个距离更小。这样做的简单方法是什么?
网络上的许多页面说明了如何在非常特殊的情况下增大空间,但没有说明如何减小空间。 例如How to change spacing between ticks in matplotlib?
之前有人问过类似的问题:Scatter plot: Decreasing spacing between scatter points/x-axis ticks但是我所不清楚的是答案。
还检查了:
但这并没有提供我所需的信息。
我也不在寻找滴答频率(例如Changing the "tick frequency" on x or y axis in matplotlib?)
我尝试过:
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
dataframe_plot2.set_index('Class')[['HB ref', "HB tussenfase","HB raaigras"]].T.plot(kind='bar', stacked=True,width=0.1)
dataframe_plot2.xaxis.set_major_locator(plt.ticker.MultipleLocator(5))
plt.legend(loc='center left', bbox_to_anchor=(1.0, 0.5))
AttributeError: 'DataFrame' object has no attribute 'xaxis'
和
import matplotlib.pyplot as plt
import matplotlib.ticker as tic
dataframe_plot2.set_index('Class')[['HB ref', "HB tussenfase","HB raaigras"]].T.plot(kind='bar', stacked=True,width=0.1)
tic.MultipleLocator(5)
plt.legend(loc='center left', bbox_to_anchor=(1.0, 0.5))
但这没有效果。
更新: 正在运行:
import matplotlib.pyplot as plt
dataframe_plot2.set_index('Class')[['HB ref', "HB tussenfase","HB raaigras"]].T.plot(kind='bar', stacked=True,width=0.1)
plt.xlim(-2, 4)
plt.legend(loc='center left', bbox_to_anchor=(1.0, 0.5))
导致:
编辑当前和预期输出:
当前:
预期: