Matplotlib pyplot:是否可以具有指数轴?

时间:2018-06-27 18:22:30

标签: python matplotlib plot loglog

我的pyplot图表需要loglog的“相反”。 我怎样才能达到指数轴?

数据如下:

x = [1, 2, 4]
y = [1, 2, 4]
z = [2, 2, 2]

quadranten = plt.figure()
s = [20*4**n for n in z]    

fig, ax = plt.subplots()
ax.axis([1, 5, 1, 5])
ax.loglog() <-- opposite function?

xstart, xend = ax.get_xlim()
ax.xaxis.set_ticks(np.arange(xstart, xend, 0.712123))
ax.xaxis.set_major_formatter(ticker.FormatStrFormatter('%0.1f'))

ystart, yend = ax.get_ylim()
ax.yaxis.set_ticks(np.arange(ystart, yend, 0.712123))
ax.yaxis.set_major_formatter(ticker.FormatStrFormatter('%0.1f'))

plt.xlabel('x')
plt.ylabel('y')

plt.scatter(x,y,s=s)
plt.show()

目标是x轴具有均匀大小的步长:0、1、2、4、8,... 对于y轴也是如此,步长大小均匀地按倍数增大(例如2):0、1、2、4、8 ...

这可能吗?

类似这样的事情: exponential

1 个答案:

答案 0 :(得分:0)

loglog接受控制对数底数的参数basexbasey

loglog(arange(1,100), arange(1,100)**2, basex=2, basey=2)

enter image description here