Python 更改AxisArtister上的刻度数

Python 更改AxisArtister上的刻度数,python,matplotlib,axis,axis-labels,Python,Matplotlib,Axis,Axis Labels,我试图绘制笛卡尔坐标轴,如: 由于重叠,我想减少它们的数量。我尝试了这个方法 for n, label in enumerate(ax.axis[direction].get_ticklabels()): if n % 5 != 0: label.set_visible(False) 但它给出了一个错误: 'AxisArtist' object has no attribute 'get_ticklabels' 如何克服它?mpl\u工具包。axis\u网格。axi

我试图绘制笛卡尔坐标轴,如:

由于重叠,我想减少它们的数量。我尝试了这个方法

for n, label in enumerate(ax.axis[direction].get_ticklabels()):
    if n % 5 != 0:
        label.set_visible(False)
但它给出了一个错误:

'AxisArtist' object has no attribute 'get_ticklabels'

如何克服它?

mpl\u工具包。axis\u网格。axislines
已被弃用;从
mpl\u工具包导入。改为AxisArtister

添加
ax.set\u yticks(np.linspace(-1,1,5))
就可以了

如果要根据轴的范围动态隔开记号,可以使用
ax.set_-yticks(np.arange(*ax.axis()[2:],0.5))
(设置记号之间的距离)或
ax.set_-yticks(np.linspace(*ax.axis()[2:],5))
(设置记号数)

示例结果:


通常,检查当前版本的示例,而不是旧版本的示例。例如,或。对于滴答,请考虑使用定位器,例如,<代码>多行器< /代码>或<代码> Max NoListor <代码>。