Python 两个记号标签在具有symlog scale的绘图中重叠
我已经在x轴上绘制了一个Python 两个记号标签在具有symlog scale的绘图中重叠,python,matplotlib,Python,Matplotlib,我已经在x轴上绘制了一个symlog图,并打算使线性区域足够短(linscalex=0.2)。请看我的图表。但是,日志区域的第一个记号标签(1e-2)与原点(0)重叠。是否仍需移除勾号标签1e-2 这是我的密码 plt.xscale('symlog', linthreshx = 0.05, subsx = range(2,10), linscalex = 0.2) 正如@ImportanceOfBeingErnest在注释中指出的那样,您只需使用 plt.gca().s
symlog
图,并打算使线性区域足够短(linscalex=0.2
)。请看我的图表。但是,日志区域的第一个记号标签(1e-2)与原点(0)重叠。是否仍需移除勾号标签1e-2
这是我的密码
plt.xscale('symlog', linthreshx = 0.05,
subsx = range(2,10), linscalex = 0.2)
正如@ImportanceOfBeingErnest在注释中指出的那样,您只需使用
plt.gca().set_xticks([0, .1, 1, 10])
但是,既然您要求一个更通用的解决方案,我想提供一个——您可以获得现有的XTICK,并简单地使用以下方法不加区别地删除第二个XTICK(可能是将其折叠为一行程序的一种方法)
显然,这是一个有点生硬的方法,因为它总是会删除第二个标签,即使它没有干扰 预期的结果是什么?删除0?我希望删除1e-2,谢谢。我想您可以通过
plt.gca()设置刻度。设置刻度([0,1,1,10])
?谢谢@ImportanceOfBeingErnest,它解决了我的问题。但我想知道是否有一个更一般的方法?Like自动删除symlog
的第二个勾号标签,而不考虑其他标签。
ticks = plt.xticks()[0]
ticks[1] = ticks[0]
plt.xticks(ticks[1:])