Python實(shí)現(xiàn)matplotlib顯示中文的方法詳解
本文實(shí)例講述了Python實(shí)現(xiàn)matplotlib顯示中文的方法。分享給大家供大家參考,具體如下:
【注意】
可能與本文主題無(wú)關(guān),不過(guò)我還是想指出來(lái):使用matplotlib庫(kù)時(shí),下面兩種導(dǎo)入方式是等價(jià)的(我指的是等效,當(dāng)然這個(gè)說(shuō)法可以商榷:)
import matplotlib.pyplot as plt
import pylab as plt
【效果圖】
【方式一】FontProperties
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # 步驟一 # ... font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14) # 步驟二 plt.xlabel("x軸", fontproperties=font) # 步驟三 plt.ylabel("y軸", fontproperties=font) plt.title("標(biāo)題", fontproperties=font) plt.show()
總的來(lái)說(shuō),很丑陋。
【方式二】 fontproperties
import matplotlib.pyplot as plt # ... plt.xlabel("x軸") plt.ylabel("y軸", fontproperties="SimSun") # 步驟一 (宋體) plt.title("標(biāo)題", fontproperties="SimHei") # (黑體) plt.show()
靈活,另一個(gè)優(yōu)點(diǎn):不污染全局字體設(shè)置
【方式三】rcParams
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體) plt.rcParams['axes.unicode_minus'] = False # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問題) #... plt.xlabel("x軸") plt.ylabel("y軸") plt.title("標(biāo)題") plt.show()
簡(jiǎn)潔的用法。缺點(diǎn):污染全局字體設(shè)置。(所以需要第二步驟)
【方式四】rc
import matplotlib.pyplot as plt font = {'family' : 'SimHei', 'weight' : 'bold', 'size' : '16'} plt.rc('font', **font) # 步驟一(設(shè)置字體的更多屬性) plt.rc('axes', unicode_minus=False) # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問題) #... plt.xlabel("x軸") plt.ylabel("y軸") plt.title("標(biāo)題") plt.show()
靈活的用法。缺點(diǎn):影響全局字體(所以需要第二步驟)
【總結(jié)】
方式二用時(shí)才設(shè)置,且不會(huì)污染全局字體設(shè)置,更靈活
方式三、方式四不需要對(duì)字體路徑硬編碼,而且一次設(shè)置,多次使用,更方便。
【測(cè)試代碼】
import numpy as np import matplotlib.pyplot as plt font = {'family' : 'DFKai-SB', 'weight' : 'bold', 'size' : '16'} plt.rc('font', **font) # pass in the font dict as kwargs plt.rc('axes',unicode_minus=False) x = np.linspace(0, 10, 1000) y = np.sin(x) z = np.cos(x**2) plt.figure(figsize=(8,4)) plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) plt.plot(x,z,"b--",label="$cos(x^2)$") plt.xlabel("x軸") plt.ylabel("y軸") plt.title("標(biāo)題") plt.ylim(-1.2,1.2) plt.legend() plt.show()
運(yùn)行結(jié)果:
【附錄】
一些中文字體的英文名
宋體 | SimSun |
黑體 | SimHei |
微軟雅黑 | Microsoft YaHei |
微軟正黑體 | Microsoft JhengHei |
新宋體 | NSimSun |
新細(xì)明體 | PMingLiU |
細(xì)明體 | MingLiU |
標(biāo)楷體 | DFKai-SB |
仿宋 | FangSong |
楷體 | KaiTi |
隸書 | LiSu |
幼圓 | YouYuan |
華文細(xì)黑 | STXihei |
華文楷體 | STKaiti |
華文宋體 | STSong |
華文中宋 | STZhongsong |
華文仿宋 | STFangsong |
方正舒體 | FZShuTi |
方正姚體 | FZYaoti |
華文彩云 | STCaiyun |
華文琥珀 | STHupo |
華文隸書 | STLiti |
華文行楷 | STXingkai |
華文新魏 | STXinwei |
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python使用Matplotlib模塊時(shí)坐標(biāo)軸標(biāo)題中文及各種特殊符號(hào)顯示方法
- Python使用matplotlib繪圖無(wú)法顯示中文問題的解決方法
- Python在Matplotlib圖中顯示中文字體的操作方法
- Python中matplotlib中文亂碼解決辦法
- 解決Linux系統(tǒng)中python matplotlib畫圖的中文顯示問題
- python設(shè)置 matplotlib 正確顯示中文的四種方式
- python matplotlib中文顯示參數(shù)設(shè)置解析
- Python matplotlib畫圖與中文設(shè)置操作實(shí)例分析
- 如何徹底解決Python中matplotlib不顯示中文的問題詳解(顯示方框)
相關(guān)文章
Python 2.6.6升級(jí)到Python2.7.15的詳細(xì)步驟
這篇文章主要介紹了Python 2.6.6升級(jí)到Python2.7.15的詳細(xì)步驟,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Python實(shí)現(xiàn)Word文檔轉(zhuǎn)換Markdown的示例
這篇文章主要介紹了Python實(shí)現(xiàn)Word文檔轉(zhuǎn)換Markdown的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12Python網(wǎng)絡(luò)爬蟲信息提取mooc代碼實(shí)例
這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲與信息提取mooc,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03python3+RobotFramework環(huán)境搭建過(guò)程
之前用的python2.7+robotframework進(jìn)行的自動(dòng)化測(cè)試,python3的還沒嘗試,今天嘗試了下,搭建環(huán)境的時(shí)候也是各種報(bào)錯(cuò),今天給大家分享下python3+RobotFramework環(huán)境搭建過(guò)程,感興趣的朋友一起看看吧2023-08-08Python3.5編程實(shí)現(xiàn)修改IIS WEB.CONFIG的方法示例
這篇文章主要介紹了Python3.5編程實(shí)現(xiàn)修改IIS WEB.CONFIG的方法,涉及Python針對(duì)xml格式文件的讀寫以及節(jié)點(diǎn)操作相關(guān)技巧,需要的朋友可以參考下2017-08-08mac下pip、conda、homebrew修改為清華鏡像源的方法
本文主要介紹了mac下pip、conda、homebrew修改為清華鏡像源的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Python基于opencv的簡(jiǎn)單圖像輪廓形狀識(shí)別(全網(wǎng)最簡(jiǎn)單最少代碼)
這篇文章主要介紹了基于opencv的簡(jiǎn)單圖像輪廓形狀識(shí)別(全網(wǎng)最簡(jiǎn)單最少代碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python使用pynlpir進(jìn)行中文分詞并保留段落信息
nlpir是由張華平博士開發(fā)的中文自然處理工具,可以對(duì)中文文本進(jìn)行分詞、聚類分析等,本文主要介紹了使用pynlpir進(jìn)行中文分詞并保留段落信息的具體方法,希望對(duì)大家有所幫助2024-03-03