Pandas matplotlib 无法显示中文
生活随笔
收集整理的這篇文章主要介紹了
Pandas matplotlib 无法显示中文
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- Pandas 無法顯示中文解決方案
- Pandas在繪圖時,會顯示中文為方塊,主要原因
- 運行效果展示
- win自帶中文字體表
- matplotlib 解決方案
- 一 動態(tài)修改配置
- 二 設(shè)置自定義字體
- 代碼實現(xiàn)
- 運行結(jié)果展示
- win自帶字體庫路徑
- Ubutnu下Matplotlib的永久解決方案
- 下載或在系統(tǒng)內(nèi)尋找字體文件
- 移動字體文件到Matplotlib的相應(yīng)位置
- 運行代碼
- 參考
Pandas 無法顯示中文解決方案
Pandas在繪圖時,會顯示中文為方塊,主要原因
有二:
- matplotlib 字體問題
- seaborn 字體問題
只需要在文件開始動態(tài)設(shè)置字體配置就可以了,但是要注意,字體設(shè)置可能需要嘗試多次,比如我一開始設(shè)置的win10中的’SamKi’,但是運行結(jié)果仍然是中文顯示方塊,后來我換成了’KaiTi’才正常顯示的中文,具體原因可能只是某種字體獲取失敗而已.(本部分最后有win自帶中文字體表)
import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['KaiTi'] mpl.rcParams['font.serif'] = ['KaiTi'] # mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負(fù)號'-'顯示為方塊的問題,或者轉(zhuǎn)換負(fù)號為字符串import seaborn as sns sns.set_style("darkgrid",{"font.sans-serif":['KaiTi', 'Arial']})運行效果展示
win自帶中文字體表
matplotlib 解決方案
一 動態(tài)修改配置
代碼和第一部分的前半部分一致
import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['KaiTi'] mpl.rcParams['font.serif'] = ['KaiTi'] # mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負(fù)號'-'顯示為方塊的問題,或者轉(zhuǎn)換負(fù)號為字符串二 設(shè)置自定義字體
代碼實現(xiàn)
這種方式較為復(fù)雜,博主不建議這種方式:
import numpy as np import pylab as pl import matplotlib.font_manager as fmmyfont = fm.FontProperties(fname=r'D:\Fonts\simkai.ttf') # 設(shè)置字體 t = np.arange(0.0,2.0 * np.pi,0.01) # 自變量取值范圍 s = np.sin(t) # 計算正弦函數(shù)值 z = np.cos(t) # 計算余弦函數(shù)值 pl.plot(t,s,label='正弦') pl.plot(t,z,label='余弦') pl.xlabel('x-變量',fontproperties=myfont,fontsize=24) #設(shè)置標(biāo)簽 pl.ylabel('y-正弦余弦函數(shù)值',fontproperties=myfont,fontsize=24) pl.title('sin-cos函數(shù)圖像',fontproperties=myfont,fontsize=32) #圖像標(biāo)題 pl.legend(prop=myfont) pl.show()運行結(jié)果展示
win自帶字體庫路徑
- C:\Windows\Fonts\ 內(nèi)含大量字體
- 注意在該文件夾下,字體文件的名字和其他文件夾下顯示的不一致,請使用右鍵屬性-常規(guī)中文件名,或者使用拷貝到其他文件夾后顯示的字體文件名字
Ubutnu下Matplotlib的永久解決方案
下載或在系統(tǒng)內(nèi)尋找字體文件
首先去隨便下載一個中文字體(*.ttf)文件,最好是黑體,楷體,宋體等微軟本來自帶的字體。
點擊安裝之后,可以通過下面的命令查看字體,注意獲取字體的英文名字。如果已經(jīng)提前知道,就可以不獲取了,或者直接打開ttf文件一般里邊會有英文名字的備注。不過還是直接查看一下,直接復(fù)制英文名字。比較保險
移動字體文件到Matplotlib的相應(yīng)位置
然后將下載的字體放入Matplotlib的相應(yīng)位置
比如我的位置是
然后上跳兩級找到matplotlibrc文件,并打開matplotlibrc。
找到兩個字段取消注釋,并修改
然后最好刪除一下Matplotlib的緩存。
rm ~/.cache/matplotlib -R運行代碼
然后略微修改之前的代碼,然后運行測試即可
import numpy as np import pylab as plt = np.arange(0.0,2.0 * np.pi,0.01) # 自變量取值范圍 s = np.sin(t) # 計算正弦函數(shù)值 z = np.cos(t) # 計算余弦函數(shù)值 pl.plot(t,s,label='正弦') pl.plot(t,z,label='余弦') pl.xlabel('x-變量',fontsize=24) #設(shè)置標(biāo)簽 pl.ylabel('y-正弦余弦函數(shù)值',fontsize=24) pl.title('sin-cos函數(shù)圖像',fontsize=32) #圖像標(biāo)題 pl.show()參考
- Matplotlib輸出中文顯示問題,內(nèi)含mac操作系統(tǒng)字體庫
- github的帖子,pandas無法顯示中文的問題
總結(jié)
以上是生活随笔為你收集整理的Pandas matplotlib 无法显示中文的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python2/3 list set性能
- 下一篇: 如何快速掌握Pandas