Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Selesaikan masalah aksara Cina yang kacau dalam matplotlib dengan mudah, pakar mengajar anda satu helah

Selesaikan masalah aksara Cina yang kacau dalam matplotlib dengan mudah, pakar mengajar anda satu helah

WBOY
WBOYasal
2024-01-04 13:45:21854semak imbas

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:windowsontsSimSun.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

Jalankan kod di atas untuk melukis carta garisan dengan paparan aksara Cina biasa.

Selain itu, jika anda ingin menggunakan tetapan fon yang sama sepanjang larian, anda boleh menetapkannya secara global dalam fail konfigurasi matplotlib. Mula-mula, anda perlu mencari fail konfigurasi matplotlib Anda boleh menyemak laluannya melalui kod berikut:

#font.family         : sans-serif

Kemudian, edit fail konfigurasi (biasanya matplotlibrc) dan cari baris berikut:

font.family         : SimSun, Arial, sans-serif

Tukarnya Ubah suai kepada:

rrreee🎜Simpan fail konfigurasi, mulakan semula persekitaran Python dan semua carta yang dilukis menggunakan matplotlib akan menggunakan fon yang ditentukan. 🎜🎜Kesimpulan: 🎜Melalui kaedah di atas, kita boleh menyelesaikan masalah aksara Cina yang kacau dalam matplotlib dengan mudah. Semasa melukis carta, kami hanya perlu menetapkan fon yang sesuai untuk memastikan paparan biasa aksara Cina. Ini memudahkan analisis data dan kerja visualisasi kami. Saya harap kandungan di atas dapat membantu semua, terima kasih kerana membaca! 🎜

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn