最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python畫圖時(shí)如何調(diào)用本地字體

 更新時(shí)間:2021年12月14日 10:56:42   作者:微小冷  
這篇文章主要為大家介紹在通過(guò)Python繪制圖畫時(shí)如何調(diào)用本地的字體,從而解決中文亂碼的問題。感興趣的小伙伴快來(lái)跟隨小編學(xué)習(xí)學(xué)習(xí)吧

matplotlib中的字體文件被封裝在font_manager這個(gè)子模塊中,fontManager.ttflist這個(gè)列表涵蓋了所有Matplotlib支持的字體。

>>> import matplotlib.pyplot as plt
>>> from matplotlib.font_manager import fontManager
>>> print(fontManager.ttflist[0])   #此為字體文件
<Font 'cmmi10' (cmmi10.ttf) normal normal 400 normal>

Font類中主要有7個(gè)基本屬性:

‘fname' ‘name' ‘size' ‘stretch' ‘style' ‘variant' ‘weight'
存儲(chǔ)路徑 字體名 尺寸 拉伸方式 斜粗風(fēng)格 變體 粗細(xì)

若想全局設(shè)置字體,可通過(guò)更改plt.rcParams來(lái)實(shí)現(xiàn),例如設(shè)為等線字體

plt.rcParams['font.sans-serif'] = 'DengXian'
plt.text(0,0,'測(cè)試',fontsize=20)
plt.show()

效果為

一般來(lái)說(shuō)電腦中內(nèi)置的字體文件都是數(shù)百記,很難逐一展示,所以接下來(lái)希望將前100個(gè)字體展示在一張圖中。

然而rcParams對(duì)于并非坐標(biāo)軸的屬性,而是當(dāng)前作圖窗格的屬性,若想在局部啟用其他字體,可通過(guò)plt.text中的fontproperties參數(shù)來(lái)實(shí)現(xiàn)

import numpy as np
from matplotlib.font_manager import FontProperties
x,y  = np.indices([10,10]).reshape(2,100)/10
for i in range(100):
    font = fontManager.ttflist[i]
    plt.text(x[i],y[i],f"測(cè)試:{font.name}", 
    fontsize=10, ha='left', va='bottom',
    fontproperties = FontProperties(fname=font.fname))

plt.show()

得到測(cè)試字體如圖所示

在作圖時(shí)選擇其中支持中文的字體,就不會(huì)出現(xiàn)中文亂碼問題了。

補(bǔ)充

python實(shí)現(xiàn)繪圖時(shí)候的中文顯示,顯示微軟雅黑字體

1.安裝庫(kù)pip3 install matplotlib

2.向Matplotlib添加中文字體Microsoft YaHei(微軟雅黑)

Matplotlib不能默認(rèn)使用中文字體顯示字符的原因只是因?yàn)槠湮窗形淖煮w文件,所以導(dǎo)入中文字體文件到Matplotlib中即可。

網(wǎng)上下載微軟雅黑的ttf文件。Microsoft YaHei.ttf

D:\python\Lib\site-packages\matplotlib\mpl-data(新電腦在C盤python39,裝python的地方)

打開這個(gè)目錄可以看到這個(gè)路徑下的mpl-data/fonts/ttf/,這個(gè)就是Matplotlib引入字體的路徑,我們只需要把微軟雅黑字體的ttf文件拷貝到其中即可。

3.修改Matplotlib的默認(rèn)字體配置

mpl-data/matplotlibrc這個(gè)文件,這個(gè)就是Matplotlib的配置文件。

在這個(gè)文件中搜索font.family,其中font.family:? sans-serif將#刪除即把此行注釋打開。則Matplotlib現(xiàn)在的默認(rèn)字體族是:

font.family : sans-serif

再在這個(gè)文件中搜索font.sans-serif,將#刪除即把此行注釋打開,然后在這個(gè)配置的最前面加上Microsoft YaHei,

font.sans-serif : Microsoft YaHei, DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

則Matplotlib現(xiàn)在的默認(rèn)sans-serif字體族會(huì)最先使用Microsoft YaHei去展示字體,而這個(gè)Microsoft YaHei就可以展示中文字體了。

(axes.unicode_minus? : True這一行注釋去掉,將true改成false,,,此處用來(lái)正常顯示負(fù)號(hào))(可不做)

4.清除字體緩存(可不做)

為了更好地看到效果,最好可以清楚之前Matplotlib生成的緩存文件,打開~/.matplotlib路徑,其中可以看到fontList.json和tex.cache,前者其實(shí)就是字體列表的緩存文件,可以刪除:rm -rf fontList.json

5.當(dāng)然,懶辦法顯示中文字體

每次用時(shí)需要設(shè)置

plt.rcParams['font.sans-serif']=['SimHei'] #用來(lái)正常顯示中文標(biāo)簽(動(dòng)態(tài)設(shè)置)
plt.rcParams['axes.unicode_minus']=False #用來(lái)正常顯示負(fù)號(hào)

以上就是Python畫圖時(shí)如何調(diào)用本地字體的詳細(xì)內(nèi)容,更多關(guān)于Python調(diào)用本地字體的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python opencv3實(shí)現(xiàn)人臉識(shí)別(windows)

    python opencv3實(shí)現(xiàn)人臉識(shí)別(windows)

    這篇文章主要為大家詳細(xì)介紹了python opencv3實(shí)現(xiàn)人臉識(shí)別程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Linux添加Python?path方法及修改環(huán)境變量的三種方法

    Linux添加Python?path方法及修改環(huán)境變量的三種方法

    這篇文章主要介紹了Linux添加Python?path方法及修改環(huán)境變量的三種方法,Linux 下設(shè)置環(huán)境變量有三種方法,一種用于當(dāng)前終端,一種用于當(dāng)前用戶,一種用于所有用戶,本文對(duì)每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Django之模型層多表操作的實(shí)現(xiàn)

    Django之模型層多表操作的實(shí)現(xiàn)

    這篇文章主要介紹了Django之模型層多表操作的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python FTP批量下載/刪除/上傳實(shí)例

    python FTP批量下載/刪除/上傳實(shí)例

    今天小編就為大家分享一篇python FTP批量下載/刪除/上傳實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python新手最容易踩的坑及避坑指南

    Python新手最容易踩的坑及避坑指南

    學(xué)習(xí)Python時(shí)新手可能會(huì)遇到縮進(jìn)錯(cuò)誤、忘記引入模塊、使用未定義的變量、變量作用域理解不當(dāng)、字符串格式化錯(cuò)誤等問題,本文詳細(xì)介紹了這些常見陷阱及其解決方案,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • Python datatime庫(kù)語(yǔ)法使用詳解

    Python datatime庫(kù)語(yǔ)法使用詳解

    這篇文章主要介紹了Python datatime庫(kù)語(yǔ)法使用詳解,datetime模塊用于是date和time模塊的合集,文章圍繞相關(guān)資料展開詳情,感興趣的小伙伴可以擦參考一下
    2022-07-07
  • Python 保存矩陣為Excel的實(shí)現(xiàn)方法

    Python 保存矩陣為Excel的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Python 保存矩陣為Excel的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 用Python實(shí)現(xiàn)定時(shí)備份Mongodb數(shù)據(jù)并上傳到FTP服務(wù)器

    用Python實(shí)現(xiàn)定時(shí)備份Mongodb數(shù)據(jù)并上傳到FTP服務(wù)器

    這篇文章主要介紹了用Python實(shí)現(xiàn)定時(shí)備份Mongodb數(shù)據(jù)并上傳到FTP服務(wù)器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 用Pygal繪制直方圖代碼示例

    用Pygal繪制直方圖代碼示例

    這篇文章主要介紹了用Pygal繪制直方圖代碼示例,具有一定借鑒價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • Python下載的11種姿勢(shì)(小結(jié))

    Python下載的11種姿勢(shì)(小結(jié))

    這篇文章主要介紹了Python下載的11種姿勢(shì)(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

玉溪市| 耿马| 林西县| 西畴县| 浠水县| 奉节县| 通渭县| 伊宁市| 那曲县| 都江堰市| 朔州市| 遵化市| 萨嘎县| 安化县| 巴彦县| 乌恰县| 南乐县| 门头沟区| 崇左市| 汽车| 耒阳市| 额尔古纳市| 荥经县| 保德县| 全南县| 广汉市| 屏东市| 铁岭市| 顺昌县| 囊谦县| 黄石市| 万年县| 石阡县| 博白县| 开封县| 明光市| 惠来县| 镇安县| 拜城县| 恩平市| 永新县|