我试图用5个整数增量,在-20到+20的序列中创建y轴标签。我试过下面这个,我的图轴=ax2。
ax2.set_yticks(list(range(-20, 25, 5)))
ax2.set_yticklabels([abs(y) for y in list(range(-20, 25, 5))])
我得到了一个从20到20的y轴,看起来像下面这个图。
我需要y轴的标签在图上显示为: -20, -15, -10, -5, 0, 5, 10, 15, 20 我还没有在网上找到解决方案。在这里谢谢大家的帮助!
你使用的是 abs
它总是返回一个正数。因此,你不会看到负的ticklabels。此外,您不需要理解列表,也不需要转换为 range
到 list
. 你也可以直接使用一个变量,而不是调用 range()
两次。
只要把 abs
并通过 range
直接。事实上,对于你现在的例子,你甚至不需要设置y-ticklabels。只要设置ticks就足够了。
比如说
fig, ax2 = plt.subplots()
ytics = range(-20, 25, 5)
ax2.set_yticks(ytics)
ax2.set_yticklabels(ytics); # Remove abs() (Also redundant line in your case)