【问题标题】:Change number of ticks on a AxisArtist更改 AxisArtist 上的刻度数
【发布时间】:2019-03-28 22:37:22
【问题描述】:

我正在尝试绘制像here 这样的笛卡尔坐标轴:

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

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'

我该如何克服它?

【问题讨论】:

标签: python matplotlib axis axis-labels


【解决方案1】:

mpl_toolkits.axes_grid.axislines 已弃用;而是从mpl_toolkits.axisartist 导入。

添加ax.set_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))(设置刻度数)。

示例结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-18
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    相关资源
    最近更新 更多