Python實現(xiàn)matplotlib顯示中文的方法詳解
本文實例講述了Python實現(xiàn)matplotlib顯示中文的方法。分享給大家供大家參考,具體如下:
【注意】
可能與本文主題無關(guān),不過我還是想指出來:使用matplotlib庫時,下面兩種導(dǎo)入方式是等價的(我指的是等效,當(dāng)然這個說法可以商榷:)
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()
總的來說,很丑陋。
【方式二】 fontproperties
import matplotlib.pyplot as plt # ... plt.xlabel("x軸") plt.ylabel("y軸", fontproperties="SimSun") # 步驟一 (宋體) plt.title("標(biāo)題", fontproperties="SimHei") # (黑體) plt.show()
靈活,另一個優(yōu)點:不污染全局字體設(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ù)號顯示問題) #... plt.xlabel("x軸") plt.ylabel("y軸") plt.title("標(biāo)題") plt.show()
簡潔的用法。缺點:污染全局字體設(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ù)號顯示問題) #... plt.xlabel("x軸") plt.ylabel("y軸") plt.title("標(biāo)題") plt.show()
靈活的用法。缺點:影響全局字體(所以需要第二步驟)
【總結(jié)】
方式二用時才設(shè)置,且不會污染全局字體設(shè)置,更靈活
方式三、方式四不需要對字體路徑硬編碼,而且一次設(shè)置,多次使用,更方便。
【測試代碼】
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()
運行結(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é)運算技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
- Python使用Matplotlib模塊時坐標(biāo)軸標(biāo)題中文及各種特殊符號顯示方法
- Python使用matplotlib繪圖無法顯示中文問題的解決方法
- Python在Matplotlib圖中顯示中文字體的操作方法
- Python中matplotlib中文亂碼解決辦法
- 解決Linux系統(tǒng)中python matplotlib畫圖的中文顯示問題
- python設(shè)置 matplotlib 正確顯示中文的四種方式
- python matplotlib中文顯示參數(shù)設(shè)置解析
- Python matplotlib畫圖與中文設(shè)置操作實例分析
- 如何徹底解決Python中matplotlib不顯示中文的問題詳解(顯示方框)
相關(guān)文章
Python 2.6.6升級到Python2.7.15的詳細(xì)步驟
這篇文章主要介紹了Python 2.6.6升級到Python2.7.15的詳細(xì)步驟,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12Python實現(xiàn)Word文檔轉(zhuǎn)換Markdown的示例
這篇文章主要介紹了Python實現(xiàn)Word文檔轉(zhuǎn)換Markdown的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12Python網(wǎng)絡(luò)爬蟲信息提取mooc代碼實例
這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲與信息提取mooc,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03python3+RobotFramework環(huán)境搭建過程
之前用的python2.7+robotframework進行的自動化測試,python3的還沒嘗試,今天嘗試了下,搭建環(huán)境的時候也是各種報錯,今天給大家分享下python3+RobotFramework環(huán)境搭建過程,感興趣的朋友一起看看吧2023-08-08Python3.5編程實現(xiàn)修改IIS WEB.CONFIG的方法示例
這篇文章主要介紹了Python3.5編程實現(xiàn)修改IIS WEB.CONFIG的方法,涉及Python針對xml格式文件的讀寫以及節(jié)點操作相關(guān)技巧,需要的朋友可以參考下2017-08-08mac下pip、conda、homebrew修改為清華鏡像源的方法
本文主要介紹了mac下pip、conda、homebrew修改為清華鏡像源的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08Python基于opencv的簡單圖像輪廓形狀識別(全網(wǎng)最簡單最少代碼)
這篇文章主要介紹了基于opencv的簡單圖像輪廓形狀識別(全網(wǎng)最簡單最少代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01