Tajuk: Penjelasan terperinci tentang cara membetulkan ralat biasa aksara Cina yang kacau dalam matplotlib
Teks:
Apabila menggunakan Matplotlib untuk melukis carta, kami sering menghadapi masalah dengan aksara Cina yang kacau, seperti label, tajuk dan fon paparan dalam carta Salah. Masalah ini disebabkan terutamanya oleh fon lalai Matplotlib yang tidak menyokong aksara Cina. Dalam artikel ini, kami akan memperincikan beberapa kaedah biasa untuk membantu menyelesaikan masalah ini.
Kaedah 1: Ubah suai rcParams Matplotlib
Matplotlib menyediakan parameter rcParams yang boleh digunakan untuk menetapkan fon global. Kami boleh menentukan fon yang menyokong bahasa Cina dengan mengubah suai parameter ini.
Secara umumnya, kita boleh memilih fon Cina yang biasa digunakan, seperti SimHei, STsong, Microsoft YaHei, dsb. Sebelum mengubah suai rcParams, kita perlu menentukan laluan pemasangan fon ini dalam sistem. Anda boleh melihatnya dengan kod berikut:
import matplotlib.font_manager as fm fonts = fm.fontManager.ttflist for font in fonts: print(font.name, font.fname)
Pilih nama fon, seperti "SimHei", dan salin laluan penuhnya. Kemudian sebelum melukis carta, gunakan kod berikut untuk menetapkan parameter rcParams:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']
Kaedah 2: Gunakan fail fon tersuai
Jika tiada fon Cina yang sesuai dalam sistem, kami juga boleh memuat turun fail fon yang sepadan dan menambah ia ke direktori fon Matplotlib.
Mula-mula, muat turun fail fon daripada tapak web sumber yang sesuai, seperti "SimHei.ttf". Kemudian, cari direktori fon Matplotlib, yang boleh ditemui melalui kod berikut:
import matplotlib as mpl print(mpl.get_cachedir())
Salin fail fon ke direktori ini, dan kemudian gunakan kod berikut untuk mendaftarkan fon tersuai sebelum melukis carta:
import matplotlib.font_manager as fm fm.fontManager.addfont('/path/to/SimHei.ttf')
Seterusnya, tetapkan parameter rcParams Untuk menggunakan fon ini:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']
Kaedah 3: Gunakan fon sistem
Jika sudah ada fon Cina yang sesuai dalam sistem, kita boleh terus menggunakan fon sistem untuk melukis carta.
Mula-mula, semak fon yang dipasang pada sistem melalui kod berikut:
import matplotlib.font_manager as fm fonts = fm.fontManager.ttflist for font in fonts: print(font.name)
Pilih nama fon, seperti "Microsoft Yahei", dan kemudian sebelum melukis carta, gunakan kod berikut untuk menetapkan parameter rcParams:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['微软雅黑']
Dengan cara ini, anda boleh Gunakan fon sistem untuk memaparkan bahasa Cina secara normal.
Perlu diambil perhatian bahawa kaedah di atas mungkin berbeza sedikit pada sistem Mac dan Linux Keadaan khusus boleh dilaraskan mengikut sistem yang berbeza.
Selepas membetulkan masalah bercelaru bahasa Cina, kami boleh menggunakan aksara Cina dalam Matplotlib seperti biasa. Berikut ialah contoh kod mudah untuk melukis carta garisan dengan tajuk dan label Cina:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.title('中文标题') plt.xlabel('横轴') plt.ylabel('纵轴') plt.show()
Dengan kaedah di atas, kami boleh menyelesaikan masalah aksara Cina yang kacau dalam Matplotlib dengan mudah dan menjadikan carta kami lebih cantik dan mudah dibaca. Pada masa yang sama, ia juga membolehkan kami menggunakan Matplotlib dengan lebih baik untuk kerja visualisasi data.
Atas ialah kandungan terperinci Menghuraikan ralat biasa dan menyelesaikan masalah kacau Cina matplotlib. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!