我试图理解subs
类中的LogLocator
参数,该参数确定在MatPlotLib图上主要/次要刻度线应该位于何处。
这是我的代码:
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import numpy as np
x = np.arange(30)
y = np.power(x, 1.5)
fig = plt.figure(1)
ax = fig.add_subplot(111)
ax.set_yscale("log")
ax.plot(x, y)
plt.show()
这将产生以下图形:
但是,我要做的是在所有这些刻度线的y轴上都有标签,而不是仅仅在10 ^ 0、10 ^ 1、10 ^ 2处。我相信这样做的方法是使用LogLocator
,因此我尝试在代码中插入以下内容:
ax.yaxis.set_major_locator(ticker.LogLocator(base=10, subs=np.arange(2, 10) * 0.1))
这里的想法是它将在0.1、0.2、0.3 .... X 10 ^ 0、10 ^ 1、10 ^ 3 ...上显示标签
但是,该图似乎完全删除了所有标签:
那么我应该在subs
参数中使用什么来获得所需的行为?