在 matplotlib 图形上设置自定义刻度间距

oos*_*enb 3 python graph matplotlib

我想将刻度之间的空间设置为自定义距离而不是自动生成。我想实现这个图在 y 轴上的作用。https://pasteboard.co/H0XUbpq.jpg

我找到了如何设置自定义刻度的方法,但是轴上的间距仍然相同,然后大多数刻度仍然彼此靠近。所以我希望刻度间隔与 y 轴上刻度之间的空间不同,就像我上面链接的图表一样。

jdh*_*hao 5

我认为您发布的图像是y 轴中的对数图。y 轴上的每个刻度值都是较低的刻度值乘以 2。在正常图中,它们的距离不相同,但在对数图中,它们的距离相同。

由于您没有数据,我将展示一个玩具示例,演示如何在 y 轴上使用对数图:

import matplotlib.pyplot as plt
import matplotlib
import numpy as np

x = np.linspace(20, 51, 7)

y1 = np.exp(x**0.2)
y2 = np.exp(x**0.4)
y3 = np.exp(x**0.6)
y4 = np.exp(x**0.8)

fig, ax = plt.subplots(ncols=1, nrows=1)

ax.plot(x, y1, x, y2, x, y3, x, y4)
ax.set_yscale('log')
ax.minorticks_off()
ax.set_xticks(range(18, 54, 5))
ax.grid(linestyle='--')

ax.grid(linestyle='--')

plt.show()
Run Code Online (Sandbox Code Playgroud)

生成的图如下所示,在此处输入图片说明