1. 程式人生 > >matplotlib 與 seaborn 中出現中文亂碼的解決方法

matplotlib 與 seaborn 中出現中文亂碼的解決方法

Linux、Mac osx 系統中,出現 matplotlib 或 seaborn 繪圖中有中文亂碼的情形,可以考慮使用以下方式處理:
  1. 到 anaconda 的 matplotlib 中檢視是否有 simhei.ttf 字型:
    1. cd ~/anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf
      ls -al | grep simhei 
  2. 如果沒有,從 windows 中用 everything 搜尋全域性檔案,找到 simhei.ttf,並將其上傳到linux 的 matplotlib 的 fonts/ttf 資料夾
  3. 修改配置檔案~/anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc 檔案,
  4. 將該檔案拷貝到.cache/matplotlib 目錄下,並找到以下兩行,改為如下:
    1.   
      font.family         : sans-serif
      font.sans-serif     : simhei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
  5. (linux)刪除~/.cache/matplotlib/目錄下的 fonts cache list
  6. 程式碼設定 matplotlib 和 seaborn 的環境
    1.   
      import
      matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['simhei'] mpl.rcParams['font.serif'] = ['simhei'] import seaborn as sns sns.set_style("darkgrid",{"font.sans-serif":['simhei','Droid Sans Fallback']})
參考:

相關推薦

matplotlib seaborn 出現中文亂碼解決方法

Linux、Mac osx 系統中,出現 matplotlib 或 seaborn 繪圖中有中文亂碼的情形,可以考慮使用以下方式處理: 到 anaconda 的 matplotlib 中檢視是否有 simhei.ttf 字型: cd ~/anaconda3/lib/python3.5/

xshell出現中文亂碼解決方法

        作為一個IT程式設計師,經常需要遠端登入Linux系統的伺服器,使用工具Xshell工具,但是很多時候出現中文問題。根本原因為遠端伺服器Linux系統和本地系統的編碼不一致導致的 。此處的資訊雖然是“總共76”兩個中文漢字,但還是顯示亂碼。一、問題原因:1、遠

idea軟體編碼已經設定好了為utf-8,但是svndown下來的檔案格式本身不是utf-8的,此時開啟後會出現中文亂碼解決方法

我是個idea的忠實使用者,新公司的專案都是用eclipse做的,通過svn拉下程式碼後發現,註釋的內容裡,中文內容都是亂碼。問過專案負責人,說可能是GBK編碼。 但是,我通過idea的setting設定了編碼,試了5種編碼都沒用,中文內容還是亂碼。最後還是自己試出來解決方案。 詳細的原因請參考

sublime text3 python3編譯出現中文亂碼解決方法

一、亂碼現象利用sublime自帶編譯快捷方式ctrl+B會出現中文亂碼的情況print("沒有迴圈資料!") print("完成迴圈!")二、尋找原因1、由於之前我已經安裝了外掛ConvertToUTF8,排除文字編碼錯誤問題2、相同的程式碼在外掛sublimerepl搭建

Java Web Servlet 中文亂碼解決方法

Servlet中文亂碼問題解決方法 import java.io.*; import java.net.URLEncoder; import javax.servlet.*; import javax

cmd出現中文亂碼解決方法

1.檢視 chcp 的值是多少 936 為 GBK編碼  65001為 UTF-8編碼2.永久切換為UTF-8編碼方法,開啟登錄檔 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor3.新建字串鍵值 autorun 

ajax出現中文亂碼和快取的問題的解決方法

中文亂碼:用 encodeURI("解決中文亂碼") 解決瀏覽器快取:傳值的時候加上 new Date().getTime() 示例如下: var ajax=null; try { ajax=new XMLHttpRequest() }catch(e) {

解決zabbix郵件內容為附件和zabbix圖出現中文亂碼問題

一、解決zabbix郵件內容為附件 安裝zabbix之後,設定郵件指令碼報警的時候,傳送的報警內容變成了tcmime.1278.1278.1724.bin或ATT00001.bin。 yum -y install mailx dos2unix //安

Servlet下載出現中文亂碼以及檔名不全的解決方法

出現這個問題的主要原因就是不同瀏覽器提供的解析編碼不同IE和谷歌用的是URL編碼,而火狐用的是Base64編碼解決問題的方法就是根據不同的瀏覽器設定響應的編碼// 先從request中獲取瀏覽器的資訊String agent = request.getHeader("User

資料庫出現中文亂碼問題解決方法

遇到這樣的問題,首先先不要著急,肯定是編碼的問題,先檢查下我們所使用表的編碼方式,使用mysql命令: show  create table 表名;      1.檢視編碼方式 中文的編碼方式為gbk

MySQL數據庫中文亂碼解決方案。

中文亂碼 數據庫MySQL 數據庫中輸入中文容易出現亂碼?(亂碼問題本源:參見http://blog.51cto.com/12042068/2115021)解決方法:1.在建表建庫的時候就指定默認編碼 utf8. CREATE TABLE table_name (

Python操作出現中文亂碼等問題

1.程式碼開始: #-*-coding:utf-8 -*- 1 2.讀寫csv或者excel檔案 pandas讀取CSV檔案,中文出現亂碼: a. 設定encoding=’gbk’或者encodi

deepinidea中文亂碼解決

ins sta nic oot 亂碼 打開 apt root 頭部 打開終端 命令: sudo su 輸入密碼: aptitude search uming 顯示: root@terwer-PC:/home/terwer# aptitude search uming

Jupyter Notebook 用matplotlib作圖顯示中文亂碼解決方法

作圖的時候,中文總是顯示亂碼,折騰了一會,找到非常簡單的方法,只需要加一行程式碼就行 在 import matplotlib.pyplot as plt  後面加上下面一行語句: plt.rc('font', family='SimHei', size=7)  ##

微信模板訊息詳情頁,檢視附件時出現中文亂碼解決

模板訊息大家都知道 ,推送給你有的有詳情字樣,點進去可以到你伺服器一個頁面。 詳情頁面我有一個xxx.sql的檔案,點開後直接就能顯示內容。 不應該啊!因為上傳檔案時,我的編碼 是UTF-8,反而出現了亂碼??? 可能我的微信版本低吧?不過在pc瀏覽器開啟,就會自動分析

mysql在Windows7下出現中文亂碼解決方法(原來是編碼的問題)

因為win7的命令視窗是預設編碼格式gbk(不建議改成utf8格式麻煩),一般mysql預設編碼格式utf8所以在命令視窗中文會出現亂碼。解決的方法如下:在mysql安裝路徑下的檔案my.ini將裡面的編碼格式改成如下的格式(修改之前一定要將mysql服務停止):

javaweb中文亂碼解決方法總結之response和request解決方法

一中文論碼問題出現的由來         之所以會產生亂碼問題,不僅僅是中文亂碼,其原因就在於:編碼和解碼採用了不同的碼錶。而之所以會有編碼和解碼這一回事,也是因為,無論資料是在傳輸還是儲存等等過程中

eclipseJS中文亂碼解決

可依次選擇"window">>"preferences">>"general">>"content types" 在右邊的視窗中開啟列表,選中"JavaScript",在下面的"default encoding"右邊的輸入框中輸入"GBK"或"GB2312"再點"updat

Tomcat 日誌(控制檯)中文亂碼解決方法

背景: windows系統以Linux指令碼啟動服務 問題 在Tomcat中有時輸出的日誌中文為亂碼,包括控制檯視窗和輸出日誌檔案中都為亂碼。 解決方案 JDK引用的設定 Java引用引數新增"-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8" 將上面

QT使用MYSQL中文亂碼解決方法(Linux)

1.在QT程式的main.cpp的main函式中QTextCodec```那三句: int main(int argc, char *argv[]) { QApplication a(argc, argv); QTextCodec *codec =