<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          matplotlib字體設(shè)置看這一篇就夠了

          共 1639字,需瀏覽 4分鐘

           ·

          2020-12-13 02:41

          點(diǎn)擊上方"藍(lán)字"關(guān)注我們





          Python大數(shù)據(jù)分析


          記錄? ?分享? ?成長(zhǎng)


          添加微信號(hào)"CNFeffery"加入技術(shù)交流群
          ?

          本文示例文件已上傳至我的Github倉(cāng)庫(kù)https://github.com/CNFeffery/DataScienceStudyNotes

          ?

          1 簡(jiǎn)介

          matplotlib作為數(shù)據(jù)可視化的利器,被廣泛用于數(shù)據(jù)分析之中,但不太友好的是matplotlib中書寫非英文文字內(nèi)容時(shí),如果不事先對(duì)字體進(jìn)行相關(guān)設(shè)置,會(huì)發(fā)現(xiàn)繪制出的諸如「中文」等均顯示為「方塊亂碼」,而今天的內(nèi)容,我們就來(lái)小小總結(jié)一下matplotlib中字體設(shè)置的常用技巧。

          圖1

          2 在matplotlib中設(shè)置字體的常用方法

          matplotlib中設(shè)置字體的方法按作用范圍可分為全局設(shè)置與臨時(shí)設(shè)置:

          2.1 在matplotlib中設(shè)置全局字體

          我們?cè)谀J(rèn)狀態(tài)下使用matplotlib書寫中文內(nèi)容時(shí)之所以顯示出亂碼,是因?yàn)?code style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;font-size: 14px;overflow-wrap: break-word;border-radius: 4px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;">matplotlib默認(rèn)的字體為英文字體,導(dǎo)致許多unicode編碼的語(yǔ)言文字都無(wú)法書寫。

          而全局設(shè)置字體的方式,指的是我們可以通過修改本地配置文件或在程序開頭設(shè)置字體相關(guān)參數(shù),從而人為地為當(dāng)前kernel下的matplotlib規(guī)定使用指定的字體,主要有以下幾種情況:

          • 「使用系統(tǒng)自帶字體」

          所謂「系統(tǒng)自帶字體」,譬如對(duì)于windows,其系統(tǒng)盤Windows/Fonts下的諸多已安裝到系統(tǒng)中的字體:

          圖2

          當(dāng)然,matplotlib可以檢測(cè)到的字體不止上述的這些,我們可以通過下列方式查看matplotlib中默認(rèn)已經(jīng)識(shí)別到的所有可用字體:

          import?matplotlib.pyplot?as?plt
          from?matplotlib?import?font_manager

          for?font?in?font_manager.fontManager.ttflist:
          ????#?查看字體名以及對(duì)應(yīng)的字體文件名
          ????print(font.name,?'-',?font.fname)
          圖3

          其中在font_manager.fontManager.ttflist中迭代到的每個(gè)對(duì)象,其name屬性即為我們下面設(shè)置字體要使用到的名稱,以「華文琥珀」為例,我們先查看到其對(duì)應(yīng)的字體文件名稱:

          圖4

          接著我們寫兩行程序來(lái)找到其對(duì)應(yīng)的名稱:

          圖5

          接著按照plt.rcParams['font.sans-serif'] = 字體名稱的格式設(shè)置即可:

          圖6

          可以看到這時(shí)我們?nèi)炙形淖侄甲兂?strong>「華文琥珀」。

          • 「使用任意的字體」

          如果你想要的字體不在系統(tǒng)默認(rèn)字體中,且你只想臨時(shí)使用不想安裝到系統(tǒng)字體中,則可以利用font_manager.fontManager.addfont()來(lái)傳入字體文件路徑臨時(shí)注冊(cè)一個(gè)字體,以我下載的三方字體文件MaShanZheng-Regular.ttf為例:

          圖7
          圖8

          2.2 在matplotlib中設(shè)置局部字體

          而如果你只是想要在數(shù)據(jù)可視化作品中的部分元素譬如文字標(biāo)注中臨時(shí)使用一下字體,則可以利用font_manager.FontProperties()將字體路徑作為fname參數(shù)傳入,并傳入到對(duì)應(yīng)matplotlib繪圖API相應(yīng)參數(shù)中,以text()為例:

          圖9

          而刻度標(biāo)簽則可以參考下面的方式:

          圖10

          以上就是本文的全部?jī)?nèi)容,歡迎在評(píng)論區(qū)與我進(jìn)行討論~

          加入我們的知識(shí)星球【Python大數(shù)據(jù)分析】

          愛上數(shù)據(jù)分析!



          · 往期精選 ·
          1

          掌握pandas中的時(shí)序數(shù)據(jù)分組運(yùn)算

          2

          在模仿中精進(jìn)數(shù)據(jù)可視化05:疫情期間市值增長(zhǎng)top25公司

          3

          最詳細(xì)的PyCharm 安裝+破解詳細(xì)使用指南




          Python大數(shù)據(jù)分析

          data creates?value

          掃碼關(guān)注我們

          瀏覽 79
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  靠bi视频网站免费入口在线观看 | 欧美成人在线观看 | 免费观看大黄网站 | 大香蕉伊人免费在线 | 午夜黄色成人网免费看 |