Matplotlib繪圖基礎(chǔ)之文本標(biāo)注詳解
Matplotlib
文本和標(biāo)注可以為數(shù)據(jù)和圖形之間提供額外的信息,幫助觀察者更好地理解數(shù)據(jù)和圖形的含義。
文本用于在圖形中添加注釋或提供更詳細(xì)的信息,以幫助觀察者理解圖形的含義。
標(biāo)注則是一種更加細(xì)粒度的文本信息,可以被用來(lái)為特定的數(shù)據(jù)點(diǎn)或區(qū)域提供更詳細(xì)的信息。
本篇通過(guò)示例依次介紹文本和標(biāo)注的常用使用方式。
1. 文本
文本在圖形中主要用在標(biāo)題,坐標(biāo)軸,圖形中的一些說(shuō)明等等地方。
1.1. 顏色和字體
下面的示例演示了圖形中各個(gè)部分文本的字體大小和顏色設(shè)置的方法:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) y = x*x fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) #設(shè)置 標(biāo)題 的字體和顏色 ax.set_title("標(biāo)題", fontdict={"fontsize": 25, "color": "r"}) #設(shè)置 X軸和Y軸 標(biāo)簽的字體和顏色 ax.set_xlabel("x軸", fontdict={"fontsize": 20,"color": "g"}) ax.set_ylabel("y軸", fontdict={"fontsize": 20,"color": "b"}) #按照坐標(biāo)位置(2, 60)添加一段文本 ax.text(2, 60, "f(x) = x*x", fontdict={"fontsize": 15,"color": "k"}) ax.plot(x, y, label="sin") ax.legend()
需要掌握的部分就是 fontdict
這個(gè)參數(shù),這個(gè)字典還有其他參數(shù)可以控制字體,這里只演示了兩個(gè)常用的參數(shù):
- fontsize:字體大小設(shè)置
- color:文字顏色
1.2. latex公式
上面的示例中,f(x) = x*x
可以 latex
的方式來(lái)顯示。
latex
讓能夠顯示各種復(fù)雜的數(shù)學(xué)公式,讓文本看起來(lái)和數(shù)學(xué)書(shū)中一樣。
x = np.linspace(0, 10, 100) y = x*x fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) #設(shè)置 標(biāo)題 的字體和顏色 ax.set_title("標(biāo)題", fontdict={"fontsize": 25, "color": "r"}) #設(shè)置 X軸和Y軸 標(biāo)簽的字體和顏色 ax.set_xlabel("x", fontdict={"fontsize": 20,"color": "g"}) ax.set_ylabel("$x^2$", fontdict={"fontsize": 20,"color": "b"}) #按照坐標(biāo)位置(2, 60)添加一段文本 ax.text(2, 60, "$f(x) = x^2$", fontdict={"fontsize": 15,"color": "k"}) ax.plot(x, y, label="sin") ax.legend()
上面將 Y軸的文本和 圖形中間的數(shù)學(xué)公式改成了 latex
格式。
2. 標(biāo)注
圖形添加標(biāo)注時(shí),一般包含2個(gè)部分,一個(gè)指向數(shù)據(jù)的箭頭,一段說(shuō)明文字。
設(shè)置標(biāo)注的核心參數(shù)是:
- xy:這是待標(biāo)注的數(shù)據(jù)點(diǎn)的坐標(biāo)
- xytext:標(biāo)注文本的坐標(biāo),一般是文本的左上角的點(diǎn)
- bbox:文本框的樣式字典
- arrowprops:箭頭的樣式字典
下面的示例中,通過(guò)設(shè)置上面4個(gè)參數(shù)來(lái)演示幾種常用的標(biāo)注:
x = np.array(range(10)) y = np.array([89, 84, 30, 67, 41, 71, 62, 20, 89, 3]) fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) ax.plot(x, y) ax.annotate( "第一個(gè)值", xy=(0, 89), xytext=(-0.3, 70), arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=-0.5"}, ) ax.annotate( "轉(zhuǎn)折點(diǎn)一", xy=(2, 30), xytext=(1.8, 10), bbox={"boxstyle": "round", "fc": "none", "ec": "g"}, arrowprops={"arrowstyle": "->"}, ) ax.annotate( "轉(zhuǎn)折點(diǎn)二", xy=(3, 67), xytext=(3, 85), bbox={"boxstyle": "round", "fc": "lightblue", "ec": "r"}, arrowprops={"arrowstyle": "fancy"}, ) ax.annotate( "最大值", xy=(8, 89), xytext=(6, 85), bbox={"boxstyle": "round", "alpha":0.1}, arrowprops={"arrowstyle": "wedge,tail_width=0.8", "alpha":0.1}, )
- 第一個(gè)值:設(shè)置了箭頭的彎曲度
- 轉(zhuǎn)折點(diǎn)一:設(shè)置了邊框
- 轉(zhuǎn)折點(diǎn)二:設(shè)置了邊框和背景色,同時(shí)設(shè)置了另一種箭頭樣式
- 最大值:設(shè)置了邊框和另一種箭頭的透明度。
3. 總結(jié)
在使用 Matplotlib
進(jìn)行數(shù)據(jù)可視化時(shí),合理使用文本和標(biāo)注可以大大提高圖形的可讀性和易懂性,幫助觀察者更好地理解數(shù)據(jù)和圖形的含義。
但是,分析結(jié)果中是最重要的還是圖形和數(shù)據(jù),文本和標(biāo)注不宜過(guò)度添加,也不能太花哨,以致喧賓奪主,本末倒置。
到此這篇關(guān)于Matplotlib繪圖基礎(chǔ)之文本標(biāo)注詳解的文章就介紹到這了,更多相關(guān)Matplotlib文本標(biāo)注內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+Selenium鍵盤(pán)鼠標(biāo)模擬事件操作詳解
這篇文章主要帶大家一起學(xué)習(xí)一下Selenium的元素的基本操作與鼠標(biāo)鍵盤(pán)模擬事件的操作,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-06-06使用Python的Flask框架表單插件Flask-WTF實(shí)現(xiàn)Web登錄驗(yàn)證
Flask處理表單除了本身的WTForms包,使用Flask-WTF擴(kuò)展來(lái)增強(qiáng)表單功能也是很多開(kāi)發(fā)者的選擇,這里我們就來(lái)講解如何使用Python的Flask框架表單插件Flask-WTF實(shí)現(xiàn)Web登錄驗(yàn)證2016-07-07python?windows安裝cuda+cudnn+pytorch教程
這篇文章主要介紹了python?windows安裝cuda+cudnn+pytorch教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Python自定義函數(shù)實(shí)現(xiàn)求兩個(gè)數(shù)最大公約數(shù)、最小公倍數(shù)示例
這篇文章主要介紹了Python自定義函數(shù)實(shí)現(xiàn)求兩個(gè)數(shù)最大公約數(shù)、最小公倍數(shù),結(jié)合實(shí)例形式分析了Python求解兩個(gè)數(shù)最大公約數(shù)與最小公倍數(shù)相關(guān)原理與算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05Python?matplotlib中plt.plot()函數(shù)的顏色參數(shù)設(shè)置及可以直接運(yùn)行的程序代碼
在數(shù)據(jù)可視化中matplotlib.pyplot模塊的plot函數(shù)是一個(gè)非常重要且常用的工具,用于繪制2D圖形,這篇文章主要給大家介紹了關(guān)于Python?matplotlib中plt.plot()函數(shù)的顏色參數(shù)設(shè)置及可以直接運(yùn)行的程序代碼,需要的朋友可以參考下2024-03-03Python內(nèi)建序列通用操作6種實(shí)現(xiàn)方法
這篇文章主要介紹了Python內(nèi)建序列通用操作6種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03python星號(hào)(*)和雙星號(hào)(**)?函數(shù)動(dòng)態(tài)參數(shù)匹配及解包操作方法
這篇文章主要介紹了python星號(hào)(*)和雙星號(hào)(**)?函數(shù)動(dòng)態(tài)參數(shù)匹配及解包操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03使用Python實(shí)現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng)
這篇文章主要介紹了使用Python實(shí)現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng),代碼大致分為五個(gè)函數(shù)組成,具體內(nèi)容詳情本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-11-11