matplotlib中未显示Y轴上的小刻度线

时间:2020-07-11 10:07:08

标签: python matplotlib

我有一个对数对数图,其中较小的刻度线仅在x轴上显示,而不在y轴上显示。因为我的y轴主要刻度线的间距不像x轴。
plot

这是我的代码,

import numpy as np
import matplotlib.pyplot as plt


z = np.loadtxt("msd_profile2.out",delimiter=' ',skiprows=200005)[:, 5]
y= np.loadtxt("msd_profile2.out",delimiter=' ',skiprows=200005)[:, 4]
x=np.loadtxt("msd_profile2.out",delimiter=' ',skiprows=200005)[:, 3]
time =np.loadtxt("msd_profile2.out",delimiter=' ',skiprows=200005)[:, 2]
xy= (np.sqrt(x**2+y**2))
plt.rc('font', size=18,family='serif')
plt.rc('xtick', labelsize='x-small')
plt.rc('ytick', labelsize='x-small')

fig, ax = plt.subplots()

ax.plot(time, z,label="Z")
ax.plot(time, xy,label="XY")
ax.set_xscale('log')
ax.set_yscale('log')
ax.set_xlabel('Time')
ax.set_ylabel('MSD')


ax.legend()

plt.savefig('H:/figure/msd_ar12.png', dpi=600)
plt.show()

如何在yaxis中添加自定义刻度间距?我认为应该默认完成。

1 个答案:

答案 0 :(得分:0)

阅读matplotlib文档。默认情况下,似乎较小的刻度线是关闭的。

您可能需要从matplotlib.ticker导入以获取MultipleLocator来指定您的报价频率。

相关问题