Python matplotlib标记与预先存在的标记重叠
我试图为对数刻度轴定义刻度,我发现一个奇怪的错误是,仅在一个轴上,以前的默认刻度没有被删除,因此我的新自定义刻度与它们重叠。但仅在y轴上Python matplotlib标记与预先存在的标记重叠,python,matplotlib,Python,Matplotlib,我试图为对数刻度轴定义刻度,我发现一个奇怪的错误是,仅在一个轴上,以前的默认刻度没有被删除,因此我的新自定义刻度与它们重叠。但仅在y轴上 plt.figure() plt.scatter(np.linspace(15, 190), np.linspace(55, 310)) plt.xscale("log") plt.xticks([2e1, 4e1, 6e1, 1e2, 2e2], [20, 40, 60, 100, 200]) plt.yscale("log") plt.yticks([6e
plt.figure()
plt.scatter(np.linspace(15, 190), np.linspace(55, 310))
plt.xscale("log")
plt.xticks([2e1, 4e1, 6e1, 1e2, 2e2], [20, 40, 60, 100, 200])
plt.yscale("log")
plt.yticks([6e1, 1e2, 2e2, 3e2], [60, 100, 200, 300])
plt.show()
我相信我对x轴和y轴的处理是相同的,但是这种方法对x轴有效,并且错误在y轴上很明显
提前谢谢你的建议
我测试了您的代码,它的运行方式如下:
- Matplotlib版本:3.2.1
- Python版本:3.7.7
- Matplotlib版本:3.2.1
- Python版本:3.7.7
plt.yscale(“log”)之前传递plt.yticks([])
)
看起来什么也不做,因为将轴设置为log会恢复刻度,并在plt.yscale(“log”)之后传递plt.yticks([])
只在100处删除记号,可能下一行设置新记号时也会删除记号,所以这是不删除记号的同一个错误的一部分。不过谢谢你的建议。看起来我除了转到Python 3之外别无选择。也许先尝试删除记号,然后更改刻度并添加新记号。这是个好主意,但是,唉,不是。Passingplt.yticks([])
beforeplt.yscale(“log”)
在将轴设置为log时不会执行任何操作,而是在plt.yscale(“log”)之后传递plt.yticks([])
只在100处删除记号,可能下一行设置新记号时也会删除记号,所以这是不删除记号的同一个错误的一部分。不过谢谢你的建议。看起来我除了转到Python 3之外别无选择。