Matplotlib及Seaborn中文顯示問題
阿新 • • 發佈:2018-12-04
當使用Matplotlib及Seaborn繪圖時,圖中中文字元不能正常顯示,會出現“□”字元。解決方法如下。
- Matplotlib
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 解決中文顯示問題-設定字型為黑體 plt.rcParams['axes.unicode_minus'] = False # 解決儲存影象是負號'-'顯示為方塊的問題 x = np.arange(-2*np.pi, 2*np.pi, 0.01) y1 = np.sin(x) y2 = np.cos(x) plt.figure(figsize=(10, 7)) plt.plot(x, y1, label='$sinx$') plt.plot(x, y2, label='$cosx$') plt.legend(loc='upper right') plt.xlim(-2*np.pi-1, 2*np.pi+3) plt.xticks([-2*np.pi, -np.pi, 0, np.pi, 2*np.pi], ['$-2\pi$', '$-\pi$', '$0$', '$\pi$', '$2\pi$']) plt.title('三角-函式') plt.xlabel('橫座標') plt.ylabel('縱座標') plt.axhline(y=0, c='black') plt.show()
- Seaborn
import numpy as np import matplotlib.pyplot as plt import seaborn as sns plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字型設定-黑體 plt.rcParams['axes.unicode_minus'] = False # 解決儲存影象是負號'-'顯示為方塊的問題 sns.set(font='SimHei') # 解決Seaborn中文顯示問題 x = np.arange(-2*np.pi, 2*np.pi, 0.01) y1 = np.sin(x) y2 = np.cos(x) plt.figure(figsize=(10, 7)) plt.plot(x, y1, label='$sinx$') plt.plot(x, y2, label='$cosx$') plt.legend(loc='upper right') plt.xlim(-2*np.pi-1, 2*np.pi+3) plt.xticks([-2*np.pi, -np.pi, 0, np.pi, 2*np.pi], ['$-2\pi$', '$-\pi$', '$0$', '$\pi$', '$2\pi$']) plt.title('三角-函式') plt.xlabel('橫座標') plt.ylabel('縱座標') plt.axhline(y=0, c='black') plt.show()
轉自:https://blog.csdn.net/qq_31816741/article/details/79339898