Ubuntu 带utf-8标签的matplotlib xkcd

Ubuntu 带utf-8标签的matplotlib xkcd,ubuntu,python-3.x,matplotlib,Ubuntu,Python 3.x,Matplotlib,我想要一个带有标签的绘图: plt.plot(np.sin(np.linspace(1,10)), label='fête') plt.legend(loc='upper left') plt.show() 效果很好。现在让我们尝试使用xkcd模式: plt.xkcd() plt.plot(np.sin(np.linspace(1,10)), label='fête') plt.legend(loc='upper left') plt.show() 没有错误,但标签是“f?te”。这似乎可能

我想要一个带有标签的绘图:

plt.plot(np.sin(np.linspace(1,10)), label='fête')
plt.legend(loc='upper left')
plt.show()
效果很好。现在让我们尝试使用xkcd模式:

plt.xkcd()
plt.plot(np.sin(np.linspace(1,10)), label='fête')
plt.legend(loc='upper left')
plt.show()

没有错误,但标签是“f?te”。这似乎可能是字体问题,所以我要补充一点,这是linux(ubuntu)。

幽默无字体既没有字体,也没有其他字形

当您在LibreOffice上写入时,它会为那些没有指定字形的字体使用备份字体,这就是您看到的备份字体。例如,请注意,幽默SAN中的所有字母符号都是大写的,即使是您键入的小写字母,但当您使用波浪号或重音符号键入字母时,它们都会以波浪号小写显示;这是因为它是备份字体

如果您使用其他类似漫画的字体,如“漫画无”或“保持Puft”,则不会出现问题,尽管它们没有那么漂亮


在Windows或OSX上,对于带有XKCD的matplotlib,默认值可能是«Comic Sans»。

我在OS X上没有看到这个问题,因此可能确实不是matplotlib的代码库中的错误,而是ubuntu上的字体问题。感谢您的测试点。不幸的是,这很可能是真的(它是特定于ubuntu的)。不幸的是,这将使提交bug变得非常困难。该字体明显具有UTF-8字形(使用libreoffice进行测试)。我已经把问题贴在了,如果我能找到一个满意的答案,我会到处跟进。