anaconda利用sns或plt画图中文乱码问题
生活随笔
收集整理的這篇文章主要介紹了
anaconda利用sns或plt画图中文乱码问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SNS問題
- sns.set_style(“whitegrid”)
必須注釋或刪除 否則改任何配置都是錯的(都是血淚的教訓)
重啟kernal 后生效
import seaborn as sns sns.set_style({'font.sans-serif':['SimHei']}) plt.rcParams ['font.sans-serif'] = ['SimHei'] #Used to display Chinese labels normallyplt.rcParams ['axes.unicode_minus'] = False #Used to display negative signs normallyfrom matplotlib.font_manager import FontProperties font = FontProperties(fname=r"/XXXXXX/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf", size=10) # SimHei.ttf存放路徑#sns.set_style("whitegrid") #必須注釋或刪除 否則改任何配置都是錯的 f, ax = plt.subplots(figsize=(15, 10)) sns.barplot(x=feature_importances[show_indices], y=feature_names[show_indices], ax=ax) ax.set_title("xgb model feature importance top30", fontsize=16,fontproperties=font) ax.set_xlabel("feature importance score", fontsize=16, fontproperties=font) ax.set_ylabel("feature name", fontsize=16, fontproperties=font)plt問題
python3用matplotlib繪圖出現中文亂碼的問題
針對此問題,很多資料給的都是以下的方法:
1 進入python 環境后,命令行輸入以下代碼:
import matplotlib
print(matplotlib.matplotlib_fname())
該地址其實使用 vi +地址打開后是一系列的注釋配置文檔,我們得到這個地址可以先不修改配置文件,直接進行下一步,此步就是為我們指明matplotlib加載文件的時候是在什么位置。但是因為matplotlib中沒有對應的中文字體文件,所以我們需要上傳中文字體到對應的文件下,就是第二步。
點進入下載地址
解壓后 將小寫 simhei.ttf 改為SimHei.ttf
放入 剛才獲取到的路徑上一層的fonts路徑下的ttf文件夾下
第三步 清除畫圖包緩存
rm -rf ~/.cache/matplotlib/
第四步 導入包 并設置
from pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默認字體:解決plot不能顯示中文問題 mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示為方塊的問題結果完美!!!
總結
以上是生活随笔為你收集整理的anaconda利用sns或plt画图中文乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【PHP】文件写入和读取详解
- 下一篇: Java中List Set Map 是否