Rumah >pembangunan bahagian belakang >Tutorial Python >Kongsi petua dan pengalaman tentang cara menangani aksara Cina yang bercelaru dalam matplotlib

Kongsi petua dan pengalaman tentang cara menangani aksara Cina yang bercelaru dalam matplotlib

王林
王林asal
2024-01-13 14:14:131441semak imbas

Kongsi petua dan pengalaman tentang cara menangani aksara Cina yang bercelaru dalam matplotlib

Perkongsian petua dan pengalaman dalam menyelesaikan matplotlib aksara Cina yang kacau

[Pengenalan]
Apabila menggunakan matplotlib untuk melukis grafik, kita pasti akan menghadapi masalah aksara Cina yang kacau. Masalah ini biasanya berlaku dalam legenda, label paksi, dll. Untuk menyelesaikan masalah ini, artikel ini akan berkongsi beberapa petua dan pengalaman praktikal untuk membantu pembaca menyelesaikan masalah aksara Cina yang kacau dalam matplotlib dengan mudah.

[Penerangan Masalah]
Apabila menggunakan matplotlib untuk melukis grafik, kami menggunakan set aksara Inggeris secara lalai. Apabila menambah teks Cina, kerana pengekodan aksara lalai bagi matplotlib ialah set aksara ASCII, aksara Cina tidak boleh dipaparkan dengan betul dan dipaparkan sebagai aksara bercelaru. Menyelesaikan masalah ini memerlukan kami membuat pelarasan yang sepadan untuk sistem pengendalian dan persekitaran program yang berbeza.

【Penyelesaian】
1 Tukar fon lalai sistem
Untuk membolehkan matplotlib memaparkan aksara Cina dengan betul, kami boleh menukar fon lalai sistem. Mengambil sistem pengendalian Windows sebagai contoh, kami boleh menyediakannya melalui langkah berikut:

  1. Buka fail konfigurasi fon matplotlib Anda boleh menggunakan kod berikut untuk mencari laluan fail:

import matplotlib
matplotlib. matplotlib_fname()

  1. Cari laluan fail Tukar tetapan dua parameter di bawah laluan kepada: matplotlibrc文件,打开并找到font.familyfont.sans-serif
font.family: Microsoft Yahei, SimHei, Arial

font.sans-serif: Microsoft Yahei, SimHei, Arial

    Simpan perubahan dan jalankan semula program, aksara Cina akan dipaparkan dengan betul.
2. Tetapkan fon secara manual

Selain menukar fon lalai sistem, kami juga boleh menetapkan fon secara manual dalam program. Kita boleh mencapai ini menggunakan coretan kod berikut:

import matplotlib.pyplot sebagai plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

Dengan cara ini, kami menetapkan fon kepada " Microsoft YaHei" , ini ialah fon Cina yang biasa digunakan yang boleh digantikan dengan menambahkan fon Cina lain dalam kurungan segi empat sama.

3 Gunakan pengekodan Unikod

Dalam beberapa kes khas, kami mungkin tidak dapat menukar fon lalai sistem atau menetapkan fon secara manual. Pada masa ini, kami boleh menggunakan pengekodan Unicode untuk memaparkan aksara Cina. Contohnya:

plt.xlabel(u'horizontal axis name')

Tambah awalan "u" sebelum rentetan untuk menunjukkan bahawa rentetan itu menggunakan pengekodan Unicode, supaya matplotlib boleh memaparkan aksara Cina dengan betul.

4. Gunakan parameter fontproperties

Dalam sesetengah kes, kita mungkin perlu menggunakan aksara Cina dalam legenda atau tempat lain. Pada masa ini, kita boleh menggunakan parameter fontproperties untuk menentukan fon Cina yang sepadan dan menetapkan fon. Contohnya:

import matplotlib.font_manager sebagai fm

font = fm.FontProperties(fname='Microsoft YaHei.ttf')

plt.xlabel('horizontal axis name', fontproperties=we)
Dengan cara ini

boleh lulus Paparkan aksara Cina dengan menentukan fon.

【Contoh Kod】

Contoh kod berikut menunjukkan cara untuk memaparkan aksara Cina dengan betul:

import matplotlib.pyplot sebagai plt

import matplotlib.font_manager sebagai fm

Set the font

import matplotlib.pyplot sebagai plt

import matplotlib.font_manager sebagai fm

Set the font

=Fontfname. Microsoft YaHei.ttf')

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

Lukis grafik

x = [1, 2, 3, 4]

y = [5, 6 , 7, 8]

plt.plot(x, y)

Label paksi koordinat dan tetapan legenda dipaparkan dalam bahasa Cina

plt.xlabel('nama paksi mendatar', fontproperties=font)

plt.ylabel('menegak nama paksi', fontproperties=font)

plt.legend(['curve'], prop=font)

Paparan grafik

plt.show()🎜🎜[Ringkasan]🎜Untuk menyelesaikan masalah matplotlib aksara Cina yang kacau, kita boleh memilih yang betul mengikut kaedah keperluan tertentu. Dengan menukar fon lalai sistem, menetapkan fon secara manual, menggunakan pengekodan Unicode, atau menggunakan parameter fontproperties, kami boleh mencapai paparan aksara Cina yang betul dengan mudah. Saya berharap kemahiran dan pengalaman dalam artikel ini dapat membantu pembaca menyelesaikan masalah aksara Cina yang kacau dalam matplotlib dan meningkatkan kesan lukisan. 🎜

Atas ialah kandungan terperinci Kongsi petua dan pengalaman tentang cara menangani aksara Cina yang bercelaru dalam matplotlib. 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