Petua dan kaedah paparan Cina matplotlib
Pengenalan:
matplotlib ialah perpustakaan visualisasi data yang berkuasa yang menyediakan fungsi yang kaya dan antara muka yang fleksibel, membolehkan pengguna membuat pelbagai jenis carta dengan mudah. Walau bagaimanapun, bagi pengguna Cina, matplotlib mempunyai beberapa masalah dalam memaparkan bahasa Cina. Artikel ini akan memperkenalkan beberapa teknik dan kaedah yang biasa digunakan untuk menyelesaikan masalah paparan Cina matplotlib dan memberikan contoh kod khusus.
1. Penerangan masalah:
Secara lalai, matplotlib tidak menyokong paparan bahasa Cina, tetapi menggunakan fon bahasa Inggeris untuk melukis. Ini akan menyebabkan aksara Cina muncul sebagai segi empat sama atau aksara bercelaru. Oleh itu, kita perlu menyelesaikan masalah ini melalui beberapa kaedah.
2. Tetapan fon:
Untuk menyelesaikan masalah paparan bahasa Cina, kita perlu menetapkan fon matplotlib supaya aksara Cina boleh dipaparkan dengan betul. Dalam matplotlib, kita boleh menetapkan fon dengan cara berikut:
matplotlib.rcParams kaedah:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体 plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题 # 示例代码 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.xlabel('横轴') plt.ylabel('纵轴') plt.title('示例图表') plt.show()
Tetapkan fon secara langsung:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = FontProperties(fname=r'path/to/font.ttf') # 设置自定义字体路径 # 示例代码 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.xlabel('横轴', fontproperties=font) plt.ylabel('纵轴', fontproperties=font) plt.title('示例图表', fontproperties=font) plt.show()
3. Tajuk label paksi dan paksi Cina: contoh kod di atas, anda boleh melihat bahawa kami menetapkan fontproperties
dalam fungsi xlabel
, ylabel
dan title
Parameter , tetapkan fon kepada bahasa Cina. Ini memastikan bahawa tajuk carta dan label paksi memaparkan aksara Cina dengan betul. xlabel
、ylabel
和title
函数中的fontproperties
参数,将字体设置为中文。这样可以确保图表的标题和坐标轴标签正确显示中文字符。
四、图例的中文显示:
图例是用来解释图表中元素的标签,通常位于图表的一角。我们可以通过以下方法来设置图例的中文显示:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 示例代码 x = [1, 2, 3, 4, 5] y1 = [2, 4, 6, 8, 10] y2 = [1, 3, 5, 7, 9] plt.plot(x, y1, label='曲线1') plt.plot(x, y2, label='曲线2') plt.legend(['曲线1', '曲线2'], loc='upper right') # 设置图例文字和位置 plt.xlabel('横轴') plt.ylabel('纵轴') plt.title('示例图表') plt.show()
通过设置legend
函数中的参数,我们可以控制图例的中文显示和位置。在上述示例代码中,我们通过label
参数设置曲线的标签,然后使用legend
函数中的loc
参数设置图例的位置。
五、坐标轴刻度的中文显示:
有时候,我们还需要设置坐标轴刻度的中文显示。在matplotlib中,我们可以通过以下方法来实现:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 示例代码 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.xticks(x, ['一', '二', '三', '四', '五']) # 设置x轴刻度标签 plt.yticks([0, 2, 4, 6, 8, 10], ['零', '二', '四', '六', '八', '十']) # 设置y轴刻度标签 plt.xlabel('横轴') plt.ylabel('纵轴') plt.title('示例图表') plt.show()
在上述示例代码中,我们通过xticks
和yticks
4. Paparan legenda Cina:
rrreee
Dengan menetapkan parameter dalam fungsi legend
, kita boleh mengawal paparan Cina dan kedudukan legenda. Dalam contoh kod di atas, kami menetapkan label lengkung melalui parameter label
dan kemudian menggunakan parameter loc
dalam fungsi legend
untuk tetapkan kedudukan legenda.
5. Paparan skala paksi koordinat dalam bahasa Cina:
Kadangkala, kita juga perlu menetapkan paparan skala paksi koordinat dalam bahasa Cina. Dalam matplotlib, kita boleh mencapai ini dengan:
xticks
dan yticks
functions , dan gunakan aksara Cina dan bukannya label angka lalai. Dinasti Lagu Cina: STFangsong
Rujukan:
[1] Matplotlib.pyplot.xlabel https://matplotlib.org/stable/api/_as_gen/ matplotlib.pyplot.xlabel.py] Matplotlib[2.html] .ylabel. https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.ylabel.html
[3] Matplotlib.pyplot.title. pyplot.title.html
[4] Matplotlib.pyplot.legend https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html
Atas ialah kandungan terperinci Petua dan kaedah untuk melaksanakan paparan bahasa Cina dalam matplotlib. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!