python - 如何让 matplotlib 在数字格式化程序中使用等宽 '+' 和 '-' ?

标签 python matplotlib unicode

通常,matplotlib 使用 unicode 负号作为负数的刻度标签。

plt.figure()
plt.plot([-10,10],[-10,10])

如果运行此命令,请注意两个轴上的宽负号。

有时我想在正刻度标签中获得明确的正号“+”,所以我尝试了以下方法:

plt.gca().yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter('%+.2f'))

出现加号,但减号缩小为连字符。

如何使用格式化程序获得宽度相同的加号和减号?

这个类似问题的答案需要手动设置刻度和刻度标签,这是次优的。 matplotlib minus sign in tick labels has bad formatting

最佳答案

您可以使用 LaTeX 格式(即用 $ 符号将格式字符串括起来):

plt.gca().yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter('$%+.2f$'))

enter image description here

关于python - 如何让 matplotlib 在数字格式化程序中使用等宽 '+' 和 '-' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69537817/

相关文章:

python - 如何获取对象的 Unicode 表示

python - 在 Linux/X11 上以编程方式启动独立的 Adob​​e flashplayer

python - 使用 MQTT Python 两种方式发布和订阅

python/matplotlib - 指定寄生 Axis 长度

python - Matplotlib 后端缺少带下划线的模块

ios - 如何处理 CoreData 中的非标准 unicode 字符?

使用 Unicode 的 JQuery AJAX 调用。 POST Unicode 数据的正确方法?

python - Eclipse,使用外部工具直接编辑文本

python - pandas 按列分组,查找多列的最小值,并为组中的最小行创建新列

python - 以透视方式绘制以 3D 投影的一系列 2D 图