matplotlib langkah penyelesaian bercelaru: 1. Tetapkan pengekodan yang betul sebelum mengimport perpustakaan matplotlib 2. Tentukan fail fon dan nyatakan fail fon yang menyokong bahasa Cina semasa melukis melukis imej, gunakan pengekodan Unicode untuk memaparkan aksara Cina;
Sistem pengendalian untuk tutorial ini: sistem Windows 10, Python versi 3.11.4, komputer Dell G3.
Masalah aksara Cina bercelaru dalam Matplotlib biasanya disebabkan oleh pengekodan yang tidak konsisten. Untuk menyelesaikan masalah ini, anda boleh mencuba kaedah berikut:
1 Tetapkan pengekodan yang betul: Sebelum mengimport perpustakaan matplotlib, anda boleh cuba menetapkan yang betul. pengekodan, contohnya:
import matplotlib matplotlib.rcParams['font.sans-serif'] = 'SimHei' # 指定默认字体为黑体 matplotlib.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
2 Tentukan fail fon: Semasa melukis, anda boleh menentukan fail fon yang menyokong bahasa Cina, contohnya:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = FontProperties(fname=r"/usr/share/fonts/truetype/arphic/uming.ttc") # 指定字体文件路径 plt.xlabel(u'时间', fontproperties=font) # 使用指定的字体绘制x轴标签
3. Gunakan pengekodan Unikod: Apabila menggunakan matplotlib untuk melukis imej, anda boleh cuba menggunakan pengekodan Unikod untuk memaparkan aksara Cina. Contohnya:
plt.title(u'你好,世界!') # 使用Unicode编码显示中文字符
4 Tetapkan hujung belakang grafik: Jika kaedah di atas masih tidak dapat menyelesaikan masalah, anda boleh cuba menetapkan hujung belakang grafik kepada hujung belakang yang menyokong. Bahasa Cina, sebagai contoh:
import matplotlib.pyplot as plt plt.switch_backend('agg') # 切换到agg backend,该backend支持中文显示
5 Semak sumber data: Jika aksara Cina dalam imej dibaca daripada sumber data, anda perlu memastikan pengekodan. dalam sumber data adalah konsisten dengan pengekodan dalam matplotlib. Anda boleh cuba melihat format pengekodan sumber data dan membaca data menggunakan pengekodan yang sepadan. Contohnya:
with open('data.csv', 'r', encoding='utf-8') as f: # 使用utf-8编码读取数据 data = f.read()
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan matplotlib aksara Cina bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!