Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 两个记号标签在具有symlog scale的绘图中重叠_Python_Matplotlib - Fatal编程技术网

Python 两个记号标签在具有symlog scale的绘图中重叠

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

我已经在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().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:])