Berkongsi kaedah untuk menyelesaikan masalah aksara Cina yang kacau dalam Matplotlib
Matplotlib ialah perpustakaan visualisasi data yang berkuasa yang menyediakan fungsi lukisan yang kaya, tetapi dalam persekitaran Cina, masalah aksara yang kacau selalu berlaku. Artikel ini akan berkongsi beberapa kaedah untuk menyelesaikan masalah aksara Cina bercelaru dalam Matplotlib dan memberikan contoh kod khusus.
Kaedah 1: Tetapkan fon lalai
Fon lalai yang digunakan oleh Matplotlib tidak menyokong aksara Cina Kami boleh menyelesaikan masalah bercelaru dengan menetapkan fon lalai. Mula-mula, anda perlu menentukan nama fon yang menyokong bahasa Cina dalam sistem semasa, seperti "SimHei", "Microsoft YaHei", dsb. Seterusnya, gunakan matplotlib.rcParams untuk menetapkan fon.
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置默认字体为SimHei plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题 # 绘图代码 plt.plot([1, 2, 3, 4]) plt.xlabel('横坐标') plt.ylabel('纵坐标') plt.title('示例图') plt.show()
Dengan kod di atas, kami menetapkan fon lalai kepada "SimHei" dan menetapkan axes.unicode_minus kepada False, yang boleh menyelesaikan masalah tanda negatif yang dipaparkan dalam Matplotlib. Dengan cara ini, kita boleh memaparkan aksara Cina seperti biasa.
Kaedah 2: Gunakan fail fon tersuai
Jika tiada fon yang menyokong bahasa Cina secara lalai dalam sistem, kami boleh menyelesaikan masalah bercelaru dengan menggunakan fail fon tersuai. Mula-mula, anda perlu memuat turun fail fon yang menyokong aksara Cina, seperti "msyh.ttc". Seterusnya, gunakan FontProperties untuk memuatkan fon tersuai.
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = FontProperties(fname=r'path/to/msyh.ttc') # 加载自定义字体 # 绘图代码 plt.plot([1, 2, 3, 4]) plt.xlabel('横坐标', fontproperties=font) plt.ylabel('纵坐标', fontproperties=font) plt.title('示例图', fontproperties=font) plt.show()
Dengan kod di atas, kami memuatkan fail fon tersuai ke dalam FontProperties dan menentukan fon yang akan digunakan dalam lukisan menggunakan parameter fontproperties. Dengan cara ini, kita juga boleh memaparkan aksara Cina secara normal.
Kaedah 3: Gunakan ikon untuk memaparkan aksara Cina
Kadangkala, anda hanya perlu memaparkan aksara Cina di lokasi tertentu seperti legenda dan label dan bukannya tetapan global. Kita boleh menyelesaikan masalah aksara bercelaru dengan menentukan fon di lokasi tertentu. Contohnya, untuk menggunakan aksara Cina dalam legenda, anda boleh menggunakan parameter fontproperties.
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = FontProperties(fname=r'path/to/msyh.ttc') # 加载自定义字体 # 绘图代码 plt.plot([1, 2, 3, 4], label='曲线', color='r') plt.legend(prop=font) # 图例中使用中文字符 plt.xlabel('横坐标') plt.ylabel('纵坐标') plt.show()
Dengan kod di atas, kami menggunakan "lengkung" aksara Cina dalam legenda dan menentukan penggunaan fon tersuai melalui parameter prop. Dengan cara ini, kita boleh memaparkan aksara Cina dengan betul dalam kedudukan tertentu.
Ringkasnya, kami boleh menyelesaikan masalah bercelaru Cina Matplotlib dengan menetapkan fon lalai, menggunakan fail fon tersuai dan menentukan fon di lokasi tertentu. Memilih kaedah yang sesuai boleh memaparkan aksara Cina dengan lebih baik dalam visualisasi data.
Atas ialah kandungan terperinci Kongsi kaedah untuk menyelesaikan masalah paparan aksara Cina matplotlib. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!