日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

matplotlib可视化必知必会富文本绘制方法

發布時間:2024/9/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matplotlib可视化必知必会富文本绘制方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?

本文示例代碼及文件已上傳至我的Github倉庫https://github.com/CNFeffery/DataScienceStudyNotes

?

1 簡介

長久以來,在使用matplotlib進行繪圖時,一直都沒有比較方便的辦法像R中的ggtext那樣,向圖像中插入整段的混合風格富文本內容,譬如下面的例子:

而幾天前我在逛github的時候偶然發現了一個叫做flexitext的第三方庫,它設計了一套類似ggtext的語法方式,使得我們可以用一種特殊的語法在matplotlib中構建整段富文本,下面我們就來get它吧~🧐

2 使用flexitext在matplotlib中創建富文本

在使用pip install flexitext完成安裝之后,我們使用下列語句導入所需模塊:

from?flexitext?import?flexitext

2.1 基礎用法

flexitext中定義富文本的語法有些類似html標簽,我們需要將施加了特殊樣式設置的內容包裹在成對的<>與</>中,并在<>中以屬性名:屬性值的方式完成各種樣式屬性的設置,譬如我們想要插入一段混合了不同粗細、色彩以及字體效果的富文本:

from?flexitext?import?flexitext import?matplotlib.pyplot?as?plt#?將幼圓與楷體插入到matplotlib字體庫中 plt.rcParams['font.sans-serif']?=?['YouYuan',?'KaiTi']?+?plt.rcParams['font.sans-serif']fig,?ax?=?plt.subplots(figsize=(9,?6))flexitext(0.5,?0.5,?'''<size:30>這<color:yellow>是</>一段<weight:bold,?name:DejaVu?Sans>flexitext</><color:?red,?name:KaiTi>富文本</>測試</>''',?ha="center");

很舒服!我們使用flexitext()來替換ax.text()方法,它在兼容了ax.text()關于文字坐標以及對齊方式等常規參數的同時,幫助我們以特殊的格式定義文本內容及樣式風格,下面我們就來進一步學習flexitext中支持的各種參數設置。

2.2 flexitext標簽中的常用屬性參數

在前面的例子中我們在標簽中使用到了size、color、weight以及name等屬性參數,而flexitext中標簽支持的常用屬性參數如下:

2.2.1 利用size設置文本像素大小

size屬性非常簡單,其用于定義標簽所包裹文本內容的像素尺寸:

fig,?ax?=?plt.subplots(figsize=(9,?6))flexitext(0.5,?0.5,?'<size:20>size=20</><size:30>size=30</><size:40>size=40</><size:50>size=50</>',?ha="center")plt.savefig('圖3.png',?dpi=300)

2.2.2 利用name設置字體

name屬性可以用來設置具體的字體名稱,關于matplotlib中的字體設置相關知識你可以參考我以前寫過的「搞定matplotlib中的字體設置」https://www.cnblogs.com/feffery/p/14122415.html,下面分別演示系統自帶的字體,以及自行注冊導入的自定義字體是如何在flexitext中使用的(其中每種字體的name你可以通過font_manager.fontManager.ttflist查看):

from?matplotlib?import?font_manager#?從本地文件中注冊新字體 font_manager.fontManager.addfont('Dark?Twenty.otf') font_manager.fontManager.addfont('Yozai-Regular.ttf') font_manager.fontManager.addfont('LXGWWenKai-Regular.ttf')fig,?ax?=?plt.subplots(figsize=(9,?6))flexitext(0.5,?0.5,?'<size:60,?name:Dark?Twenty>Dark?Twenty</>\n<size:60,?name:Yozai>悠哉字體</>\n<size:60,?name:LXGW?WenKai>霞鶩文楷</>',?ha="center")plt.savefig('圖4.png',?dpi=300)

2.2.3 利用weight設置文本字體粗細

weight屬性用于設置文本的粗細程度,可傳入0到1000之間的數值,或是ultralight、light、normal、regular、book、medium、roman、semibold、demibold、demi、bold、heavy、extra bold、black中的選項,不過這個屬性依賴具體的字體族(flexitext中使用family屬性來定義)是否包含對應的粗細版本,所以有時候設置無效是正常的,譬如下面的例子中Times New Roman是完整的字體族,因此可以設置粗細:

fig,?ax?=?plt.subplots(figsize=(9,?6))flexitext(0.5,?0.5,?('<size:50,?family:Times?New?Roman>weight:regular</>\n''<weight:bold,?size:50,?family:Times?New?Roman>weight:bold</>\n''<weight:bold,?size:50,?name:LXGW?WenKai>霞鶩文楷bold無效</>'),?ha="center",ma='center')plt.savefig('圖5.png',?dpi=300)

2.2.4 利用color、backgroundcolor設置文本顏色及背景色

color與backgroundcolor屬性接受matplotlib中合法的顏色值輸入,可用于對標簽所囊括文本的色彩及背景色進行設置,譬如下面我們配合調色庫palettable來制作一些花里胡哨的文字:

from?palettable.colorbrewer.diverging?import?Spectral_6fig,?ax?=?plt.subplots(figsize=(9,?6))text?=?'' for?i,?s?in?enumerate(list('制造一場彩虹')):text?+=?'<size:50,?name:LXGW?WenKai,?color:{}>{}</>'.format(Spectral_6.hex_colors[i],?s)flexitext(0.5,?0.6,?text,?ha="center",ma='center')flexitext(0.5,?0.4,?'<name:LXGW?WenKai,?size:50,?color:white,?backgroundcolor:?{}>制造一場彩虹</>'.format(Spectral_6.hex_colors[2]),?ha="center",ma='center')plt.savefig('圖6.png',?dpi=300)

2.2.5 利用alpha調節文字透明度

alpha參數則用于設置文字的透明度,取值在0到1之間,來看一個簡單的例子:

import?numpy?as?npfig,?ax?=?plt.subplots(figsize=(9,?6))flexitext(0.5,?0.4,?('<name:LXGW?WenKai,?size:50,?alpha:{}>繪</>'*9).format(*np.linspace(1,?0,?9).tolist()),?ha="center",ma='center')plt.savefig('圖7.png',?dpi=300)

關于flexitext的其余可用參數等信息,感興趣的朋友可以自行前往官方倉庫進行查看:https://github.com/tomicapretto/flexitext


各位伙伴們好,詹帥本帥假期搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)

推薦閱讀

牛逼!Python常用數據類型的基本操作(長文系列第①篇)

牛逼!Python的判斷、循環和各種表達式(長文系列第②篇)

牛逼!Python函數和文件操作(長文系列第③篇)

牛逼!Python錯誤、異常和模塊(長文系列第④篇)

總結

以上是生活随笔為你收集整理的matplotlib可视化必知必会富文本绘制方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美精品久久久 | 自拍亚洲综合 | 欧美高清精品 | 中国性老太hd大全69 | 狂野少女电影在线观看国语版免费 | 综合激情久久 | 操操操插插插 | 亚洲在线色 | 香港三级网站 | 精品视频第一页 | 日韩欧美中文字幕一区二区三区 | 日韩欧美高清在线 | 国产吞精囗交免费视频 | 无码不卡av东京热毛片 | 国产精品久久久99 | 久久久久久久久免费看无码 | 毛片中文字幕 | 欧美人与禽zozzo性之恋的特点 | 欧美老女人性生活 | 国产卡一卡二在线 | 夜夜操天天射 | 99精品国产一区二区 | 国产精品视频导航 | 中文字幕超碰在线 | 欧美日批视频 | 久久亚洲国产成人精品性色 | 国产网站在线免费观看 | 日本免费一级片 | 久久国产免费看 | 国产欧美一区二 | 超碰男人的天堂 | www精品视频 | 少妇精品偷拍高潮白浆 | 亚洲蜜桃在线 | 日韩欧美大陆 | 欧美精品综合 | 亚洲高清视频在线观看 | 成人在线观看91 | 香蕉视频首页 | 国产精品黄在线观看 | 亚洲一级网站 | 伊人中文字幕在线观看 | 娇妻玩4p被三个男人伺候电影 | 欧美三个黑人玩3p | 精品伊人 | 日韩欧美精品在线 | 欧美黑人一级爽快片淫片高清 | 国产欧美久久久久 | 一本色道久久加勒比精品 | 国产成人精品片 | 亚洲精品1区2区3区 国产丝袜网站 | 女人脱了内裤趴开腿让男躁 | 欧美性狂猛xxxxxbbbbb | 日本公妇乱淫免费视频一区三区 | 三级黄色图片 | 国产乱性| 999zyz玖玖资源站永久 | 少妇又色又紧又爽又刺激视频 | 韩日a级片| 免费瑟瑟网站 | 成人影视在线看 | av丝袜在线 | 国产精品97 | 在线观看黄色网页 | 免费三级网站 | 国产麻豆精品视频 | 三级中文字幕 | 国产a大片| 国产精品第三页 | 在线观看69| 欧美专区日韩专区 | 天天色成人 | 久久久久久久中文字幕 | 欧洲精品无码一区二区 | av在线资源站 | av资源天堂 | 国产对白刺激视频 | 黄色三级视屏 | 国产精品美女久久久久图片 | 日韩美女视频网站 | 1024欧美| 国内特级毛片 | 美女野外找人搭讪啪啪 | 91看片就是不一样 | 中文字幕精品视频 | 日本精品久久久久 | 国产精品精品久久久久久 | 日韩女优在线播放 | 爱情岛论坛永久入址测速 | 99精品视频一区二区三区 | 国产日韩欧美自拍 | 少妇人妻精品一区二区三区 | 熟女高潮一区二区三区视频 | 亚洲国产精品一区二区尤物区 | 成年人黄色 | 十八禁毛片 | 操一操干一干 | 免费啪啪小视频 | 污污视频免费观看 |