Rumah >pembangunan bahagian belakang >Tutorial Python >Selesaikan masalah aksara Cina yang kacau dalam matplotlib dengan mudah, pakar mengajar anda satu helah
Pakar mengajar anda helah untuk menyelesaikan masalah matplotlib aksara Cina yang kacau-bilau diperlukan
Pengenalan:
Dalam proses menggunakan Python untuk analisis dan visualisasi data, kami sering menggunakan matplotlib, yang biasa digunakan. perpustakaan lukisan. Walau bagaimanapun, kadangkala aksara Cina dalam carta yang kami lukis menggunakan matplotlib akan bercelaru, menyebabkan kami mengalami masalah yang tidak perlu. Hari ini, kami akan berkongsi kaedah mudah untuk menyelesaikan masalah aksara Cina bercelaru dalam matplotlib dan memberikan contoh kod khusus.
Teks:
Cara untuk menyelesaikan masalah aksara Cina bercelaru dalam matplotlib ialah dengan menetapkan fon. Pertama, kita perlu menentukan fon Cina yang dipasang pada sistem pengendalian. Dalam keadaan biasa, sistem Windows memasang beberapa fon Cina secara lalai Anda boleh melihat senarai fon yang tersedia dalam sistem melalui kod berikut:
import matplotlib.font_manager as fm font_list = fm.findSystemFonts() font_names = [fm.get_font(font).family_name for font in font_list] print(font_names)
Melaksanakan kod di atas akan mengeluarkan senarai fon yang tersedia dalam sistem lihat sesuatu yang serupa dengan "SimSun" , "SimHei", "Microsoft Yahei" dan nama fon lain.
Seterusnya, kita perlu menetapkan fon yang digunakan dalam matplotlib. Fon boleh ditetapkan melalui contoh kod berikut:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # 设置字体 font = FontProperties(fname=r"c:windowsontsSimSun.ttc", size=14) # 绘图示例 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) # 添加中文字符 plt.title("折线图示例", fontproperties=font) plt.xlabel("x轴", fontproperties=font) plt.ylabel("y轴", fontproperties=font) plt.show()
Dalam kod di atas, kami mula-mula menetapkan fon untuk digunakan melalui FontProperties
, di mana parameter fname
menentukan laluan ke fon. Perlu diingat bahawa laluan dalam kod di atas adalah untuk tetapan sistem Windows Jika anda menggunakan sistem pengendalian lain, sila ubah suai laluan fon dengan sewajarnya. Kami kemudian menggunakan parameter fontproperties
untuk menentukan fon untuk digunakan dalam label tajuk dan paksi. FontProperties
来设置要使用的字体,其中fname
参数指定了字体的路径。需要注意的是,上述代码中的路径是针对Windows系统的设置,如果你使用的是其他操作系统,请相应修改字体路径。然后,我们使用fontproperties
参数在标题和轴标签中指定要使用的字体。
运行上述代码,就能够绘制出中文字符显示正常的折线图。
另外,如果你想在整个运行过程中都使用相同的字体设置,可以在matplotlib的配置文件中进行全局设置。首先,需要找到matplotlib的配置文件,可以通过下面的代码查看其所在路径:
import matplotlib as mpl print(mpl.matplotlib_fname())
然后,编辑该配置文件(一般是matplotlibrc
#font.family : sans-serifKemudian, edit fail konfigurasi (biasanya
matplotlibrc
) dan cari baris berikut: font.family : SimSun, Arial, sans-serif
Atas ialah kandungan terperinci Selesaikan masalah aksara Cina yang kacau dalam matplotlib dengan mudah, pakar mengajar anda satu helah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!