gpt4 book ai didi

python - matplotlib locator_params 或 set_major_locator 不工作

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:32 26 4
gpt4 key购买 nike

我正在尝试减少子图中轴刻度的数量(每个轴的值不同,因此我无法手动设置刻度),但其他答案如 thisthis不工作。我创建图形的语法是标准的,如下所示:

fig = plt.figure(figsize=(7,9))
ax = fig.add_subplot(8,2,i+1) # I am plotting in a much larger loop, but I don't think there is anything wrong with the loop, because everything else (axis limits, labels, plotting itself...) works fine.

为了减少 yticks 的数量,我试过了

ax = plt.locator_params(nbins=4, axis='y')

引发错误 TypeError: set_params() got an unexpected keyword argument 'nbins'

我试过了

ax.yaxis.set_major_locator(plt.MaxNLocator(4))

这给出了错误 AttributeError: 'NoneType' object has no attribute 'yaxis'

我不明白为什么我的子图被认为是 NoneType。我怀疑这是问题的核心,但我看到的所有示例都具有相同的结构,即

fig = plt.figure()
ax = fig.add_subplot(111)
ax.yaxis.set_major_locator(plt.MaxNLocator(4))

它应该可以工作。那为什么我的斧头是NoneType呢?

最佳答案

问题是线路:

ax = plt.locator_params(nbins=4, axis='y')

locator_params 不返回 Axes 实例(事实上它不返回任何东西),所以在这一行你重新分配 axNone

我想你想把它改成:

ax.locator_params(nbins=4, axis='y')

然后它应该一切正常。

关于python - matplotlib locator_params 或 set_major_locator 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40522531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com