5

我正在使用 matplotlib 绘制对数图。我的值从 1 到 35。

fig=plt.figure(figsize=(7,7))
fig.subplots_adjust(top=0.75, right=0.9)
ax=fig.add_subplot(111)
ax.plot(x, y, marker='o', color='black', ls='')
ax.set_xscale('log')
ax.set_yscale('log')

我想从低于 1 的值开始设置 x 轴和 y 轴,但如果我使用

ax.axis([-10,45,-10,45])

它不起作用。我知道这是因为我使用的是对数刻度,但是有没有办法解决获得我想要的轴的问题?

4

1 回答 1

11

使用 的'symlog'参数ax.set_xscale,因为它在零附近的小区间内是线性的,在其他地方是对数的。

linthreshx您甚至可以使用关键字参数( linthreshyfor )设置希望轴为线性的间隔,该参数ax.set_yscale接受一个元组,该元组分别由负边和正边的限制组成,即 ielinthreshx=(-linthresh,linthresh)或简单地linthreshx=linthresh

ax.set_xscale('symlog')
ax.set_yscale('symlog')
ax.axis([-10,45,-10,45])
于 2013-06-01T11:13:56.180 回答