注意
转到结尾 下载完整示例代码。
Symlog 演示#
Symlog(对称对数)轴缩放的示例使用。
import matplotlib.pyplot as plt
import numpy as np
dt = 0.01
x = np.arange(-50.0, 50.0, dt)
y = np.arange(0, 100.0, dt)
fig, (ax0, ax1, ax2) = plt.subplots(nrows=3)
ax0.plot(x, y)
ax0.set_xscale('symlog')
ax0.set_ylabel('symlogx')
ax0.grid()
ax0.xaxis.grid(which='minor') # minor grid on too
ax1.plot(y, x)
ax1.set_yscale('symlog')
ax1.set_ylabel('symlogy')
ax2.plot(x, np.sin(x / 3.0))
ax2.set_xscale('symlog')
ax2.set_yscale('symlog', linthresh=0.015)
ax2.grid()
ax2.set_ylabel('symlog both')
fig.tight_layout()
plt.show()
需要注意的是,symlog
使用的坐标变换在其线性区域和对数区域之间的过渡处具有不连续的梯度。asinh
轴刻度是一种替代技术,可以避免这些不连续性引起的视觉伪影。
参考文献