如何在matplotlib中使用“文泉驿微黑单声道”?

问题描述 投票:0回答:0

在我的系统中,字体“WenQuanYi Micro Hei Mono”和“WenQuanYi Micro Hei”嵌入在同一个.ttc文件中:

$ fc-match 'WenQuanYi Micro Hei Mono'
wqy-microhei.ttc: "文泉驿等宽微米黑" "Regular"

$ fc-match 'WenQuanYi Micro Hei'
wqy-microhei.ttc: "文泉驿微米黑" "Regular"

$ fc-match 'WenQuanYi Micro Hei' -v
Pattern has 44 elts (size 48)
        family: "文泉驿微米黑"(s) "WenQuanYi Micro Hei"(s) "文泉驛微米黑"(s)
        familylang: "zh-cn"(s) "en"(w) "zh-tw"(w)
        ……
        file: "/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc"(s)
        ……

我想在matplotlib中使用“文泉驿微黑Mono”。如何在不破解 .ttc 文件的情况下在此字体中使用 Mono 变体?

我试过:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6]
y = [2, 3, 4, 5, 6, 7]

plt.scatter(x, y, color="g", marker="o")
plt.legend(
    labels=["test 汉字"],
    prop={"family":"WenQuanYi Micro Hei Mono"},
)
plt.show()

但是我收到错误消息:

findfont: Font family 'WenQuanYi Micro Hei Mono' not found.
/home/pika/mambaforge/lib/python3.11/site-packages/IPython/core/pylabtools.py:152: UserWarning: Glyph 27721 (\\N{CJK UNIFIED IDEOGRAPH-6C49}) missing from current font.
    fig.canvas.print_figure(bytes_io, \*\*kw)

如果我尝试

prop={"fname":"/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc"}
,我无法获得Mono字体:

这里是test output,注意顶部的文字。

python matplotlib fonts cjk monospace
© www.soinside.com 2019 - 2024. All rights reserved.