我正在使用 matplotlib 生成图表,并使用set_ticks
andset_ticklabels
标记 x 轴上的几个重要值。但是其中一些标签太靠近并且重叠。但我不知道如何在不移动刻度的情况下移动这些标签。
这是一个插图:
我尝试了几个技巧但都失败了,我在互联网上没有找到这个问题的答案。任何帮助,谢谢。
更新:
源代码:
fig = mpl.figure( figsize=(3, 3) ) # force figsize here to reproduce the problem.
ax = fig.add_subplot(1, 1, 1, frameon=False)
ax.set_xlim(-0.015, 1.515)
ax.set_ylim(-0.01, 1.01)
ax.set_xticks([0, 0.3, 0.4, 1.0, 1.5])
ax.grid(True)
mpl.show()
结果:
我尝试了几种技巧,最好的一种是:
fig = mpl.figure( figsize=(3, 3) )
ax = fig.add_subplot(1, 1, 1, frameon=False)
ax.set_xlim(-0.015, 1.515)
ax.set_ylim(-0.01, 1.01)
ax.set_xticks([0, 0.3, 0.4, 1.0, 1.5])
ax.set_xticklabels([0.0, "", "", 1.0, 1.5])
ax.set_xticks([0.35], minor=True)
ax.set_xticklabels(["0.3 0.4"], minor=True)
ax.grid(True)
mpl.show()
但是在 x = 0.35 处有一个小勾号,我不知道如何删除它。
更新 2:
好的,我找到了如何自己删除小蜱虫的方法:
for line in ax.xaxis.get_minorticklines():
line.set_visible(False)
通过这种方式,我们可以利用次要刻度将刻度标签放在我们想要的任何位置。
感谢所有的热心人!