如何在单个x轴内变化不同的xtick距离?

时间:2017-04-04 04:55:02

标签: python matplotlib plot axis-labels

如何调整绘图的x轴,使某些刻度线间隔一定距离,而其他刻度线间隔较宽?

例如,在下图中,我希望1-200刻度与201-300之间的距离是两倍(即当前距离的两倍),而其余的xticks保留间距为他们现在正在。

enter image description here

1 个答案:

答案 0 :(得分:1)

图中的轴是线性的。这意味着轴上任意两个值plottet之间的距离与它们各自的差异成比例。刻度表现相同并且与轴刻度相关联。例如。在1和2处的两个刻度与在0.5和1.5处的两个刻度相差很远。

您当然可以按照您想要的方式重新标记刻度线,并使用ax.set_xticks()ax.set_xticklabels()根据需要定位它们。

enter image description here

然而,这不会改变数据间距。因此,为了在两个数据点之间具有更大的空间,数据本身需要间隔得更远,例如

ax.plot([4,6,7,8],[23,24,23,24], marker="o")
ax.set_xticks([4,6,7,8])

enter image description here

现在使用ax.set_ticklabels可以将标签设置为所需的任何内容。