我尝试在对数标度上绘制从0.01到0.1的曲线。我使用以下代码:
fig = plt.figure ( figsize=(4/1.6,3/1.6), constrained_layout=True )
ax = plt.axes()`
plt.rcParams["axes.labelweight"] = "bold"
ax.tick_params(direction='in', bottom=True, top=True, left=True, right=True, which='both')
ax.tick_params(axis='x', labelsize=8)
ax.tick_params(axis='y', labelsize=8)
ax.plot (x_data, y_data)
ax.minorticks_off()
ax.set_xscale('log')
yticks = np.arange(0.985, 1.005, 0.005)
ax.set_yticks ( yticks )
ax.set_yticklabels (ax.get_yticks(), weight='bold')`
ax.set_ylim ( 0.985, 1.0 )
ax.set_xlim ( 0.01, 0.1 )
ax.yaxis.set_minor_locator(tck.AutoMinorLocator())
ax.yaxis.set_major_formatter(StrMethodFormatter('{x:1.3f}') )
ax.xaxis.set_major_formatter(StrMethodFormatter('{x:1.2f}') )
ax.set_aspect ('auto')
当我这样做的时候,我仍然得到x轴上的minortick的标签。这是我看到的:
我的问题是,为什么我在xtick标签上看到所有这些无关的东西?我已经尝试在最顶部旋转ax.set_xticklabels([])
并手动插入标签,但它仍然不起作用。我在这里做错了什么?
- 我想要的输出是xticklabels为粗体,并且是“0.01,0.025,0.05,0.075,0.1”。*
1条答案
按热度按时间brccelvz1#
一种方法,只是保持你想要的滴答声将使用
ax.set_ticks()
和ax.set_ticklabels()
到你想要的,然后关闭次要滴答声。我已经更新了你的代码如下。请注意,我添加了一些旋转,水平对齐的xticks和增加小数位从2到3的xticks。希望这是你正在寻找...输出图