如何让 matplotlib 在数字格式化程序中使用等宽的“+”和“-”?
How can I get matplotlib to use equal width '+' and '-' in number formatter?
通常 matplotlib 使用 unicode 负号作为负数上的刻度标签。
plt.figure()
plt.plot([-10,10],[-10,10])
如果你运行这个,请注意两个轴上的宽负号。
有时我想在正刻度标签中得到一个明确的正号“+”,所以我尝试了以下方法:
plt.gca().yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter('%+.2f'))
出现加号,但减号缩小为连字符。
如何使用格式化程序获得相同宽度的加号和减号?
这个类似问题的答案需要手动设置刻度和刻度标签,这是次优的。
您可以使用 LaTeX 格式(即用 $
符号将格式字符串括起来):
plt.gca().yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter('$%+.2f$'))
通常 matplotlib 使用 unicode 负号作为负数上的刻度标签。
plt.figure()
plt.plot([-10,10],[-10,10])
如果你运行这个,请注意两个轴上的宽负号。
有时我想在正刻度标签中得到一个明确的正号“+”,所以我尝试了以下方法:
plt.gca().yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter('%+.2f'))
出现加号,但减号缩小为连字符。
如何使用格式化程序获得相同宽度的加号和减号?
这个类似问题的答案需要手动设置刻度和刻度标签,这是次优的。
您可以使用 LaTeX 格式(即用 $
符号将格式字符串括起来):
plt.gca().yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter('$%+.2f$'))