国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python中使用matplotlib時(shí)顯示中文亂碼_(或更改字體)

這篇具有很好參考價(jià)值的文章主要介紹了Python中使用matplotlib時(shí)顯示中文亂碼_(或更改字體)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、問題描述

????????在使用matplotlib繪制可視化圖表時(shí),圖表的中文顯示亂碼,只能正常顯示英文內(nèi)容,如下圖所示:

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼

二、問題分析

? ? ?一般顯示亂碼是由于編碼問題導(dǎo)致的,而matplotlib 默認(rèn)使用ASCII 編碼,但是當(dāng)使用pyplot時(shí),是支持unicode編碼的,只是默認(rèn)字體是英文字體,導(dǎo)致中文無(wú)法正常顯示,所以顯示中文亂碼。

三、解決方法

說(shuō)明:我當(dāng)前使用的環(huán)境是【Python 3.11.1】、【matplotlib ?3.7.1】版本

#查看python版本命令
python --version

#安裝matplotlib命令:
pip install matplotlib

#查看當(dāng)前安裝的所有包和對(duì)應(yīng)版本命令
pip list

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼?

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼??

3.1、方法一【設(shè)置全局的字體】

《1》導(dǎo)入matplotlib和字體依賴模塊

from matplotlib import pyplot as plt
from matplotlib import font_manager

《2》查看當(dāng)前系統(tǒng)已經(jīng)安裝的字體,方便在全局設(shè)置中使用字體名稱

fontnamelist = font_manager.get_font_names()
print(fontnamelist)

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼

這是獲取到的Windows10系統(tǒng)自帶所有字體的名稱?

['Harrington', 'STXinwei', 'Microsoft YaHei', 'Bookshelf Symbol 7', 'Edwardian Script ITC', 'Haettenschweiler', 'Franklin Gothic Demi', 'Niagara Engraved', 'cmr10', 'DejaVu Serif', 'Britannic Bold', 'Gigi', 'Microsoft JhengHei', 'French Script MT', 'Microsoft Uighur', 'YouYuan', 'Seagull: Paint v1.0', 'Baskerville Old Face', 'Times', 'Cooper Black', 'Tw Cen MT Condensed', 'Engravers MT', 'ITC Bookman', 'Brush Script MT', 'Calisto MT', 'Cambria', 'STSong', 'STIXSizeFourSym', 'SimSun', 'STXingkai', 'Informal Roman', 'Courier', 'Onyx', 'Segoe MDL2 Assets', 'SimSun-ExtB', 'OCR-A-Seagull', 'Verdana', 'Mongolian Baiti', 'Wingdings', 'FangSong', 'Playbill', 'Poor Richard', 'STHupo', 'Comic Sans MS', 'Curlz MT', 'STIXSizeThreeSym', 'Maiandra GD', 'Pristina', 'Agency FB', 'Gill Sans MT', 'Microsoft New Tai Lue', 'Tahoma', 'Bahnschrift', 'Script MT Bold', 'Albertus Extra Bold', 'CourierPS', 'Stencil', 'Microsoft Tai Le', 'Helvetica', 'Impact', 'Garamond', 'FZYaoTi', 'Franklin Gothic Heavy', 'Bell MT', 'Segoe Print', 'Book Antiqua', 'Lucida Fax', 'MS Outlook', 'Albertus Medium', 'Perpetua', 'Candara', 'Bodoni MT', 'CG Times', 'MS Reference Specialty', 'Papyrus', 'Juice ITC', 'ITC Avant Garde Gothic', 'cmsy10', 'Wingdings 2', 'FZShuTi', 'MS Gothic', 'Lucida Sans', 'Univers Condensed', 'HoloLens MDL2 Assets', 'cmmi10', 'BarCode', 'Rockwell Extra Bold', 'DengXian', 'Blackadder ITC', 'Rockwell', 'Matura MT Script Capitals', 'Perpetua Titling MT', 'Copperplate Gothic Light', 'Berlin Sans FB Demi', 'Old English Text MT', 'Wingdings 3', 'ITC Zapf Chancery', 'Consolas', 'Coronet', 'Eras Light ITC', 'STFangsong', 'Gadugi', 'cmss10', 'Lucida Bright', 'Century Gothic', 'Sitka Small', 'Seagull: Risk Phrases v1.0', 'Monotype Corsiva', 'OCR A Extended', 'Eras Bold ITC', 'STCaiyun', 'MT 
Extra', 'Letter Gothic', 'Footlight MT Light', 'STKaiti', 'Webdings', 'SymbolPS', 'Segoe UI Symbol', 'Yu Gothic', 'Malgun Gothic', 'Microsoft Sans Serif', 'Gill Sans MT Condensed', 'Bernard MT Condensed', 'Palatino Linotype', 'STIXNonUnicode', 'Snap ITC', 'DejaVu Sans Display', 'STIXGeneral', 'Kristen ITC', 'Helvetica Narrow', 'Franklin Gothic Medium', 'STIXSizeOneSym', 'Seagull: ADR v1.0', 'cmb10', 'Nirmala UI', 'Niagara Solid', 'Lucida Sans Unicode', 'Lucida Sans Typewriter', 'Vivaldi', 'STIXSizeTwoSym', 'Trebuchet MS', 'Broadway', 'KaiTi', 'Wide Latin', 'Tw Cen MT Condensed Extra Bold', 'Bradley Hand ITC', 'Centaur', 'cmex10', 'Eras Demi ITC', 'Kunstler Script', 'Century', 'Algerian', 'Vladimir Script', 'Franklin Gothic Book', 'Magneto', 'Modern No. 20', 'Felix Titling', 'Javanese Text', 'MV Boli', 'Segoe UI', 'Constantia', 'Segoe Script', 'Franklin Gothic Medium Cond', 'MingLiU-ExtB', 'Seagull: Electrical v1.0', 'STXihei', 'Courier New', 'Century Schoolbook', 'Microsoft PhagsPa', 'Viner Hand ITC', 'Forte', 'High Tower Text', 'Marigold', 'STLiti', 'Goudy Old Style', 'Harlow Solid Italic', 'Palace Script MT', 'Tw Cen MT', 'Ebrima', 'Eras Medium ITC', 'Seagull: Logos v1.0', 'Colonna MT', 'Gill Sans Ultra Bold Condensed', 'Franklin Gothic Demi Cond', 'Copperplate Gothic Bold', 'Georgia', 'SimHei', 'Seagull: Hazard v1.0', 'Gloucester MT Extra Condensed', 'OCR-B-Seagull', 'STZhongsong', 'Seagull: Emergency v1.0', 'Arial', 'Calibri', 'Ravie', 'Microsoft Himalaya', 'Seagull: Recycling v1.0', 'Seagull: Warning v1.0', 'Seagull: Textile Care v1.0', 
'Clarendon Condensed', 'DejaVu Sans', 'Bookman Old Style', 'New Century Schoolbook', 'Imprint MT Shadow', 'ITC Zapf Dingbats', 'STIXSizeFiveSym', 'Freestyle Script', 'Gill Sans Ultra Bold', 'Bauhaus 93', 'Leelawadee', 'Sylfaen', 'Dubai', 'Showcard Gothic', 'Rockwell Condensed', 'Univers', 'Rage Italic', 'Arial Rounded MT Bold', 'Gabriola', 'Mistral', 'Segoe UI Emoji', 'Leelawadee UI', 'Ink Free', 'Antique Olive', 'Palatino', 'DejaVu Serif Display', 'Berlin Sans FB', 'Lucida Console', 'Elephant', 'CG Omega', 'Tempus Sans ITC', 'Corbel', 'MS Reference Sans Serif', 'Jokerman', 'Parchment', 'Gill Sans MT Ext Condensed Bold', 'Castellar', 'LiSu', 'Lucida Handwriting', 
'Segoe UI Historic', 'Seagull: Packaging v1.0', 'Goudy Stout', 'Times New Roman', 'Symbol', 'DejaVu Sans Mono', 'Californian FB', 'Myanmar Text', 'cmtt10', 'Lucida Calligraphy', 'Chiller', 'Microsoft Yi Baiti']

?《3》設(shè)置全局字體

設(shè)置全局字體使用的是當(dāng)前系統(tǒng)已經(jīng)安裝的字體,比如我這里使用的是楷體

plt.rcParams['font.sans-serif']=['kaiti']

《4》解決圖表中"-"負(fù)號(hào)顯示亂碼問題

plt.rcParams["axes.unicode_minus"]=False #解決圖像中的"-"負(fù)號(hào)的亂碼問題

《5》 展示效果

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼

3.2、方法二【設(shè)置局部字體】

《1》導(dǎo)入matplotlib和字體依賴模塊

from matplotlib import pyplot as plt
from matplotlib import font_manager

《2》查看當(dāng)前系統(tǒng)已經(jīng)安裝的字體,方便在全局設(shè)置中使用字體名稱

fontnamelist = font_manager.get_font_names()
print(fontnamelist)

《3》設(shè)置局部字體

?比如我這里是獲取了【仿宋】、【楷體】的字體;然后在單獨(dú)給指定的模塊設(shè)置對(duì)應(yīng)字體(即:圖表標(biāo)題是仿宋字體,而X和Y軸上顯示的則使用楷體字體)。

fangsong_font = font_manager.FontProperties(family="FangSong", size=20)
kaiti_font = font_manager.FontProperties(family="KaiTi", size=20)

plt.title("測(cè)試物體的平均值數(shù)據(jù):",fontsize=18,fontproperties=fangsong_font)
plt.xlabel('當(dāng)天時(shí)間',fontsize=16,fontproperties=kaiti_font)
plt.ylabel('平均數(shù)值',fontsize=16,fontproperties=kaiti_font)

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼?

3.3、方法三【設(shè)置指定路徑的局部字體】

《1》導(dǎo)入matplotlib和字體依賴模塊

from matplotlib import pyplot as plt
from matplotlib import font_manager

《2》設(shè)置指定路徑下的第三方字體

注意:fname后面的內(nèi)容是指定路徑下的字體

siyuan_font = font_manager.FontProperties(fname = "fonts/SourceHanSansHWSC-Regular.otf",size=20)
simyou_font = font_manager.FontProperties(fname = "fonts/SIMYOU.TTF",size=20)


plt.title("測(cè)試物體的平均值數(shù)據(jù):",fontsize=18,fontproperties=siyuan_font)
plt.xlabel('當(dāng)天時(shí)間',fontsize=16,fontproperties=simyou_font)
plt.ylabel('平均數(shù)值',fontsize=16,fontproperties=simyou_font)

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼

3.4、方法四【設(shè)置指定路徑的全局字體】

《1》導(dǎo)入matplotlib和字體依賴模塊

from matplotlib import pyplot as plt
from matplotlib import font_manager

《2》添加指定路徑下的第三方字體

font_dirs = ["fonts"]  #fonts是當(dāng)前程序下存放第三方字體的文件夾名稱
font_files = font_manager.findSystemFonts(fontpaths=font_dirs)
for fontfile in font_files:
    font_manager.fontManager.addfont(fontfile)

?《3》查看當(dāng)前擁有的所有字體名稱

fontnamelist = font_manager.get_font_names()
print(fontnamelist)

《4》設(shè)置第三方的字體為全局字體

plt.rcParams['font.sans-serif'] = ['Source Han Sans HW SC'] #設(shè)置全局字體(比如我這里添加的是思源宋體)

《5》展示效果

matplotlib中文亂碼問題,Python,信息可視化,matplotlib,可視化圖表顯示中文亂碼

3.5、參考資料

Examples — Matplotlib 3.8.0.dev838+gbff46815c9 documentationhttps://matplotlib.org/devdocs/gallery/index.html

matplotlib.font_manager — Matplotlib 3.8.0.dev838+gbff46815c9 documentationhttps://matplotlib.org/devdocs/api/font_manager_api.html#matplotlib.font_manager.FontManagerMatplotlib中文亂碼解決方案(兩種方式)Matplotlib 默認(rèn)字體并不支持中文,http://c.biancheng.net/matplotlib/9284.html文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-528673.html

到了這里,關(guān)于Python中使用matplotlib時(shí)顯示中文亂碼_(或更改字體)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • macOS中解決matplotlib中文亂碼

    macOS中解決matplotlib中文亂碼

    圖表上中文變方框,日志中報(bào)錯(cuò)如下: http://xiazaiziti.com/210356.html 查看配置文件路徑 這里我們得到的路徑是: 去掉 /matplotlibrc ,拼上 /fonts/ttf 。我們得到最終字體文件保存路徑為: 我們把上面下載的文件保存到些目錄,并保證文件名為 SimHei.ttf 修改我們上一步得到的配置文

    2024年02月08日
    瀏覽(21)
  • Rocky(Centos)安裝中文字體(防止中文亂碼)

    Rocky(Centos)安裝中文字體(防止中文亂碼)

    運(yùn)行下列命令 若出現(xiàn),下面截圖,則需要安裝字體管理軟件? 安裝字體庫(kù),運(yùn)行: 當(dāng)看到下圖的提示信息時(shí)說(shuō)明已安裝成功: 1)windows系統(tǒng)中就可以找到,打開c盤下的Windows/Fonts目錄: 如上圖,我們只需要將我們需要的字體拷貝出來(lái)并上傳至linux服務(wù)器即可(例如:宋體和黑

    2024年02月09日
    瀏覽(91)
  • Ubuntu下讓matplotlib顯示中文字體

    Ubuntu下讓matplotlib顯示中文字體

    參考文章: https://zodiac911.github.io/blog/matplotlib-chinese.html Ubuntu下python的matplotlib庫(kù)顯示中文字體很不方便,本文快速解決這個(gè)問題。 Ubuntu的字體目錄在 /usr/share/fonts 下,自帶的中文字體很爛,先安裝一下中文字體庫(kù)。 終端輸入: 你會(huì)發(fā)現(xiàn)在 /usr/share/fonts/MyFonts 下添加了很多新字

    2024年02月07日
    瀏覽(101)
  • opencv如何給圖片添加中文并更改字體

    opencv如何給圖片添加中文并更改字體

    ?opencv中自帶的cv2.putText()函數(shù)不能在圖像中繪制漢字,可以通過添加PIL模塊來(lái)達(dá)到在圖像中顯示漢字 通過PIP命令來(lái)添加庫(kù) 指令如下 下載模塊之后就可以通過調(diào)用來(lái)在圖片上顯示中文了,示例代碼如下 ?如果想更改中文顯示字體的話,在電腦的字體庫(kù)中找到你想要顯示的的字

    2024年02月09日
    瀏覽(97)
  • Unity TextMeshPro解決中文亂碼以及修改默認(rèn)字體

    Unity TextMeshPro解決中文亂碼以及修改默認(rèn)字體

    (自學(xué)unity問題產(chǎn)生及解決記錄貼) 環(huán)境及版本:windows,unity 2021.3.20f1c1 一、創(chuàng)建TextMeshPro輸入中文產(chǎn)生亂碼 問題:TextMeshPro中文顯示亂碼 解決方法: 使用系統(tǒng)自帶字體 在C:WindowsFonts路徑下找一個(gè)字體,以微軟雅黑為例,復(fù)制到unity目錄下(unity項(xiàng)目中,在project右鍵Show in E

    2023年04月12日
    瀏覽(101)
  • Mac系統(tǒng)下matplotlib中SimHei中文字體缺失報(bào)錯(cuò)的解決辦法

    Mac系統(tǒng)下matplotlib中SimHei中文字體缺失報(bào)錯(cuò)的解決辦法

    使用matplotlib畫圖時(shí),因?yàn)槿鄙僮煮w,、圖像上label上的中文顯示時(shí)空白小方塊。因?yàn)閙atplotlib默認(rèn)沒有中文。 Step 1. 在終端進(jìn)入python3環(huán)境,查看matplotlib字體路徑: 找到自己的matplotlib字體文件路徑: /Users/zhangzhang/miniforge3/envs/py38_pytorch/lib/python3.8/site-packages/matplotlib/mpl-data/ fon

    2023年04月13日
    瀏覽(99)
  • Qt5項(xiàng)目拆解第一集解決:中文亂碼| 全局字體|注冊(cè)表|QSS/CSS

    Qt5項(xiàng)目拆解第一集解決:中文亂碼| 全局字體|注冊(cè)表|QSS/CSS

    # 一、亂碼解決代碼片段 QTextCodec是Qt中用于處理文本編碼和字符集轉(zhuǎn)換的類。它提供了一系列靜態(tài)函數(shù)來(lái)實(shí)現(xiàn)不同編碼的文本轉(zhuǎn)換,包括編碼轉(zhuǎn)換、字符集檢測(cè)和轉(zhuǎn)換、以及數(shù)據(jù)流中的文本編碼處理。QTextCodec類使得Qt可以在不同的編碼和字符集之間進(jìn)行無(wú)縫轉(zhuǎn)換,從而方便地

    2024年01月21日
    瀏覽(28)
  • Python matplotlib 畫圖 字體、字體大小、字體粗細(xì)、文字方向、斜體、旋轉(zhuǎn)角度 全集

    Python matplotlib 畫圖 字體、字體大小、字體粗細(xì)、文字方向、斜體、旋轉(zhuǎn)角度 全集

    Python matplotlib 畫圖 字體、字體大小、字體粗細(xì)、文字方向、斜體 統(tǒng)一設(shè)置 單獨(dú)設(shè)置 設(shè)置字體 font 設(shè)置坐標(biāo)軸 axes 字體大小 labelsize 設(shè)置標(biāo)簽 tick 字體大小 labelsize 設(shè)置坐標(biāo)軸 axes 字體粗細(xì) labelweight 設(shè)置標(biāo)簽 tick 字體粗細(xì) labelweight 可選粗細(xì)有 [\\\'light\\\',\\\'normal\\\',\\\'medium\\\',\\\'semibold\\\',\\\'b

    2024年02月12日
    瀏覽(96)
  • Word中插入Endnote參考文獻(xiàn)時(shí)顯示亂碼

    Word中插入Endnote參考文獻(xiàn)時(shí)顯示亂碼

    近期在寫文章需要插入?yún)⒖嘉墨I(xiàn),使用Endnote插入時(shí)顯示亂碼,如下圖所示: 文章末尾顯示{ADDIN EN REFILIST } 在網(wǎng)上找了諸多方法嘗試也沒有解決,最終找到一篇博客介紹了一種方法: word選項(xiàng)—高級(jí): 取消勾選 顯示域代碼而非域值 然后參考文獻(xiàn)就可以正常引用了: ————

    2024年04月13日
    瀏覽(24)
  • python flask 返回中文亂碼

    python flask 返回中文亂碼

    使用flask返回?cái)?shù)據(jù)中帶有中文的時(shí)候會(huì)顯示成亂碼(ascii), 中文報(bào)文: 亂碼報(bào)文: \\\"ABAPu4e2du7684u4e09u5927u8d22u52a1u62a5u8868u662fuff1ann* **u8d44u4ea7u8d1fu503au8868**n* **u6536u5165u8bc1u660e**n* **u73b0u91d1u6d41u91cfu8868**nnu8fd9u4e9bu62a5u8868u5168u9762u6982u8ff0u4e86u516cu53f8u7684

    2024年02月17日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包