对数图中的负轴

Mar*_*lum 2 python logarithm matplotlib axis-labels

我正在使用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')
Run Code Online (Sandbox Code Playgroud)

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

ax.axis([-10,45,-10,45])
Run Code Online (Sandbox Code Playgroud)

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

sod*_*odd 6

使用'symlog'参数ax.set_xscale,因为它在零周围的小间隔中是线性的,在其他地方是对数的.

您甚至可以设置您希望轴与关键字参数linthreshx(linthreshyfor ax.set_yscale)成线性的间隔,该参数接受分别由负数和正数限制组成的元组,即linthreshx=(-linthresh,linthresh).

ax.set_xscale('symlog')
ax.set_yscale('symlog')
ax.axis([-10,45,-10,45])
Run Code Online (Sandbox Code Playgroud)