詳解Python Matplot中文顯示完美解決方案
原因與現(xiàn)象
Matplot是一個功能強大的Python圖表繪制庫,很遺憾目前版本自帶的字體庫中并不支持中文字體。所以如果在繪制內容中需要顯示中文,那么就會顯示為方格字符。
解決辦法
有一個較為完美的解決方案,通過掃描Matplot自帶字體庫以及系統(tǒng)字體庫,尋找能夠支持的中文字體,如果能夠找到的話,就設置第一個為Matplot的字體熟悉。
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontManager
from pylab import mpl
import subprocess
def get_matplot_zh_font():
fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
output = subprocess.check_output('fc-list :lang=zh -f "%{family}\n"', shell=True)
zh_fonts = set(f.split(',', 1)[0] for f in output.split('\n'))
available = list(mat_fonts & zh_fonts)
print '*' * 10, '可用的字體', '*' * 10
for f in available:
print f
return available
def set_matplot_zh_font():
available = get_matplot_zh_font()
if len(available) > 0:
mpl.rcParams['font.sans-serif'] = [available[0]] # 指定默認字體
mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示為方塊的問題
在繪圖之前,調用set_matplot_zh_font()設置一下就可以了。
效果
如下圖所示:

以上所述是小編給大家介紹的Python Matplot中文顯示完美解決方案詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
如何用python復制粘貼excel指定單元格(可保留格式)
這篇文章主要給大家介紹了關于如何用python復制粘貼excel指定單元格(可保留格式)的相關資料,利用python操作excel非常方便,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-07-07
pytorch:torch.mm()和torch.matmul()的使用
今天小編就為大家分享一篇pytorch:torch.mm()和torch.matmul()的使用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
使用PyInstaller將Python程序文件轉換為可執(zhí)行程序文件
與py2exe一樣,PyInstaller程序也可以將Python的.py程序文件轉換為.exe,并且還有Linux的版本,下面我們就來詳細看一下如何使用PyInstaller將Python程序文件轉換為可執(zhí)行程序文件2016-07-07
淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式
這篇文章主要介紹了淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python?pyecharts數(shù)據(jù)可視化實例詳解
PyEcharts是一個用于生成?Echarts圖表的類庫,?Python是一門富有表達力的語言,很適合用于數(shù)據(jù)處理,下面這篇文章主要給大家介紹了關于Python?pyecharts數(shù)據(jù)可視化的相關資料,需要的朋友可以參考下2022-05-05
Python使用PIL庫將PNG圖片轉換為ICO圖標的示例代碼
在軟件開發(fā)和網(wǎng)站設計中,ICO圖標是一種常用的圖像格式,特別適用于應用程序圖標、網(wǎng)頁收藏夾圖標等場景,本文將介紹如何使用Python的PIL庫將PNG圖片轉換為ICO格式的圖標文件,需要的朋友可以參考下2025-03-03

