微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

matplotlib减号中的减号标签格式错误

如何解决matplotlib减号中的减号标签格式错误

Matplotlib似乎在刻度线标签中使用了“正确的” Unicode字符作为减号,如果它们是自动设置的。但是,如果我尝试手动设置它们,则它似乎改用连字符(看起来太小且通常不好)。如何在保留正确的减号的同时手动更改刻度标签?这是自动和手动设置标签比较的示例。 自动

import matplotlib.pyplot as plt
plt.plot(np.arange(-50,51,10),np.arange(0,101,10))
plt.xticks(np.arange(-50,10))

手册:

import matplotlib.pyplot as plt
plt.plot(np.arange(-50,np.arange(-50,10))

这是输出的比较 [1]:https://i.stack.imgur.com/euLmy.png

我关心此问题的真正原因是因为我想将标签设置为与认值不同的值。我正在运行matplotlib版本3.2.2。

解决方法

使用标准刻度线标签时,the minus signs are converted automatically to unicode minus signs。 更改刻度标签时,数字将转换为字符串。这样的字符串不会自动替换为unicode减号。一种解决方案是明确地做到这一点:

import matplotlib.pyplot as plt
import numpy as np

plt.plot(np.arange(-50,51,10),np.arange(11))
plt.xticks(np.arange(-50,[f'{x}'.replace('-','\N{MINUS SIGN}') for x in np.arange(-50,10)])
plt.show()

comparison plot

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。