Matplotlib 中的重音字符
有没有办法让 Matplotlib 渲染重音字符(é、ã、â 等)?
例如,我尝试在 set_yticklabels()
上使用重音字符,而 Matplotlib 则渲染正方形,而当我使用 unicode()
时,它会渲染错误的字符。
有办法让这项工作发挥作用吗?
事实证明,您可以使用 u"éã",但首先您必须设置文件编码:
# Using the magic encoding
# -*- coding: utf-8 -*-
在 Matplotlib 正确渲染之后,
u"é"
我还了解到您可以
import matplotlib.font_manager as fm
fp1=fm.FontProperties(fname="/path/to/somefont.ttf")
ax.title("é",fontproperties=fp1)
在需要渲染 Matplotlib 没有的字符时使用。
Is there a way to get Matplotlib to render accented chars (é,ã,â,etc)?
For instance, I'm trying to use accented characters on set_yticklabels()
and Matplotlib renders squares instead, and when I use unicode()
it renders the wrong characters.
Is there a way to make this work?
It turns out you can use u"éã", but first you have to set the file encoding:
# Using the magic encoding
# -*- coding: utf-8 -*-
After that Matplotlib correctly renders
u"é"
I also learned that you can use
import matplotlib.font_manager as fm
fp1=fm.FontProperties(fname="/path/to/somefont.ttf")
ax.title("é",fontproperties=fp1)
in case you need to render a characters that Matplotlib does not have.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在字符串前面加上
u
前缀,告诉 Python 它们是 Unicode 字符串:Prefix the strings with
u
to tell Python that they are Unicode strings:当然。您可以使用 TeX:
Sure. You can use TeX:
当我尝试使用注释功能时,我也遇到了这个问题。这是我的错误消息:
这是我用来解决此问题的方法:
I also had this problem specifically when I was trying to use the annotate function. Here was my error message:
And here's what I used to resolve this:
从 matplotlib 导入 rc
from matplotlib import rc