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 demo

需要注意的是,symlog 使用的坐标变换在其线性区域和对数区域之间的过渡处具有不连续的梯度。asinh 轴刻度是一种替代技术,可以避免这些不连续性引起的视觉伪影。

由 Sphinx-Gallery 生成的图库