matplotlib中混合了多种波斯语(波斯语)和英语文本?

2024-06-01 09:44:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在matplotlib中使用波斯语字体,但当文本混合在一起时,如فایل pdf英语文本显示为一些正方形。我的代码如下所示:

import seaborn as sns; sns.set()
import matplotlib.pyplot as plt
from bidi.algorithm import get_display
import arabic_reshaper

from matplotlib import font_manager as fm, rcParams
import os

fpath = os.path.join(rcParams["datapath"],"C:\\Users\\Ahmad\\Desktop\\Report_Examples\\BNazanin.ttf")

prop = fm.FontProperties(fname=fpath)



def make_farsi_text(x):
    reshaped_text = arabic_reshaper.reshape(x)
    farsi_text = get_display(reshaped_text)
    return farsi_text

fmri = sns.load_dataset("fmri")
ax = sns.lineplot(x="timepoint", y="signal", data=fmri)
ax.set_xlabel(make_farsi_text('فایل pdf'),fontproperties=prop)
plt.show()

Result image


Tags: textfrom文本importgetpdfmatplotlibas