亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索

Python中Matplotlib圖像怎么添加標(biāo)簽

王林
發(fā)布: 2023-05-12 12:52:06
轉(zhuǎn)載
4847人瀏覽過

一、添加文本標(biāo)簽 plt.text()

用于在繪圖過程中,在圖像上指定坐標(biāo)的位置添加文本。需要用到的是plt.text()方法。

其主要的參數(shù)有三個(gè):

plt.text(x, y, s)
登錄后復(fù)制

其中x、y表示傳入點(diǎn)的x和y軸坐標(biāo)。s表示字符串。

需要注意的是,這里的坐標(biāo),如果設(shè)定有xticks、yticks標(biāo)簽,則指的不是標(biāo)簽,而是繪圖時(shí)x、軸的原始值。

因?yàn)閰?shù)過多,不再一一解釋,根據(jù)代碼學(xué)習(xí)其用法。

立即學(xué)習(xí)Python免費(fèi)學(xué)習(xí)筆記(深入)”;

ha = 'center’表示垂直對齊方式居中,fontsize = 30表示字體大小為30,rotation = -25表示旋轉(zhuǎn)的角度為-25度。c 設(shè)定顏色,alpha設(shè)定透明度。va表示水平對齊方式。

1. 示例

代碼在圖像中添加了兩段文本,一段是“旅途中的寬~”的斜體水印,透明度為0.4。

另一段是在折線的每個(gè)折點(diǎn)附近標(biāo)出當(dāng)天收盤價(jià)。

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = range(9)
y = [5.12, 5.15, 5.13, 5.10, 5.2, 5.25, 5.19, 5.24, 5.31]
c = 0.5 * (min(x) + max(x))
d = min(y) + 0.3 * (max(y) - min(y))
# 水印效果
plt.text(c, d, '旅途中的寬~', ha = 'center', fontsize = 30, rotation = -25, c = 'gray', alpha = 0.4)
plt.plot(x, y, label = '股票A收盤價(jià)', c = 'r', ls = '-.', marker = 'D', lw = 2)
plt.xticks(x, [
	'2022-03-27', '2022-03-28', '2022-03-29', '2022-03-30',
	'2022-03-31', '2022-04-01', '2022-04-04', '2022-04-05',
	'2022-04-06'], rotation = 45)
plt.title('某股票收盤價(jià)時(shí)序圖')
plt.xlabel('日期')
plt.ylabel('價(jià)格')
plt.grid(True)
plt.legend()
# 標(biāo)出每天的收盤價(jià)
for a, b in zip(x, y):
	plt.text(a, b + 0.01, '%.2f' % b, ha = 'center', va = 'bottom', fontsize = 14)
plt.show()
登錄后復(fù)制

Python中Matplotlib圖像怎么添加標(biāo)簽

二、添加注釋 plt.annotate()

在上例代碼的基礎(chǔ)之上,添加注釋。注釋即對圖像中某一位置的解釋,可以用箭頭來指向。

添加注釋使用的是plt.annotate()方法

其語法中的常用參數(shù)如下

plt.annotate(str,xy,xytext,xycoords,arrowcoords)
登錄后復(fù)制

其中str即注釋要使用的字符串,即注釋文本;xy指被注釋的坐標(biāo)點(diǎn);xytext指注釋文本要寫在的位置;fontsize = 300是被注釋的點(diǎn)的坐標(biāo)系屬性,即以什么樣的方式描述該點(diǎn)的坐標(biāo)。設(shè)置值默為"data",即用(x,y)坐標(biāo)來描述。其他可以選擇的設(shè)置值如下,其中figure指的是整個(gè)畫布作為一個(gè)參考系。而axes則表示僅對于其中的一個(gè)axes對象區(qū)域。

慧中標(biāo)AI標(biāo)書
慧中標(biāo)AI標(biāo)書

慧中標(biāo)AI標(biāo)書是一款A(yù)I智能輔助寫標(biāo)書工具。

慧中標(biāo)AI標(biāo)書83
查看詳情 慧中標(biāo)AI標(biāo)書

Python中Matplotlib圖像怎么添加標(biāo)簽

fontsize = 301是一個(gè)字典,用來設(shè)置箭頭的屬性。寫在這個(gè)字典之外的參數(shù)都表示的是注釋文本的屬性。

字典內(nèi)可以設(shè)置的值有:

Python中Matplotlib圖像怎么添加標(biāo)簽

關(guān)于這些參數(shù)的進(jìn)一步解釋:其中箭頭的總長度先是通過被注釋點(diǎn)位置坐標(biāo) 與 注釋文本位置坐標(biāo) 所決定的,可以通過調(diào)節(jié)參數(shù)arrowprops中的shrink鍵來進(jìn)一步調(diào)節(jié)箭頭的長度,shrink表示將箭頭縮短的長度占總長度(被注釋點(diǎn)位置坐標(biāo) 與 注釋文本位置坐標(biāo) 決定的長度)的百分比。當(dāng)不設(shè)定shrink時(shí),shrink默認(rèn)為0,即不縮短。當(dāng)shrink很大,接近1時(shí),其效果等同于不縮短。

1. 示例

以標(biāo)出圖中的最低價(jià)的點(diǎn)為例。在目標(biāo)位置添加一個(gè)紅色的箭頭,及“最低價(jià)”三個(gè)字。

其他更多參數(shù),如關(guān)于設(shè)置注釋文本的字體的,c或color表示顏色,fontsize表示字體大小。更多屬性自行了解嘗試。

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = range(9)
y = [5.12, 5.15, 5.13, 5.10, 5.2, 5.25, 5.19, 5.24, 5.31]
c = 0.5 * (min(x) + max(x))
d = min(y) + 0.3 * (max(y) - min(y))
# 仿水印效果
plt.text(c, d, '旅途中的寬', ha = 'center', fontsize = 30, rotation = -25, c = 'gray', alpha = 0.4)
plt.plot(x, y, label = '股票A收盤價(jià)', c = 'r', ls = '-.', marker = 'D', lw = 2)
# plt.plot([5.09, 5.13, 5.16, 5.12, 5.09, 5.25, 5.16, 5.20, 5.25], label='股票B收盤價(jià)', c='g', ls=':', marker='H', lw=4)
plt.xticks(x, [
    '2022-03-27', '2022-03-28', '2022-03-29', '2022-03-30',
    '2022-03-31', '2022-04-01', '2022-04-04', '2022-04-05',
    '2022-04-06'], rotation = 45)
plt.title('某股票收盤價(jià)時(shí)序圖')
plt.xlabel('日期')
plt.ylabel('價(jià)格')
plt.grid(True)
plt.legend()
# 標(biāo)出每天的收盤價(jià)
for a, b in zip(x, y):
    plt.text(a, b + 0.01, '%.3f'% b, ha = 'center', va = 'bottom', fontsize = 9)
# 添加注釋
plt.annotate('最低價(jià)', (x[y.index(min(y))], min(y)), (x[y.index(min(y))] + 0.5, min(y)), xycoords = 'data',
             arrowprops = dict(facecolor = 'r', shrink = 0.1), c = 'r',fontsize = 15)
plt.show()
登錄后復(fù)制

Python中Matplotlib圖像怎么添加標(biāo)簽

下邊換一種效果呈現(xiàn),添加的注釋箭頭寬度為3,箭頭的頭部寬度為10,長度為20,縮短0.05,且箭頭為綠色,注釋字體為紅色。代碼示例如下:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = range(9)
y = [5.12, 5.15, 5.13, 5.10, 5.2, 5.25, 5.19, 5.24, 5.31]
c = 0.5 * (min(x) + max(x))
d = min(y) + 0.3 * (max(y)-min(y))
plt.plot(x, y, label = '股票A收盤價(jià)', c = 'k', ls = '-.', marker = 'D', lw = 2)
plt.xticks(x, [
    '2022-03-27', '2022-03-28', '2022-03-29', '2022-03-30',
    '2022-03-31', '2022-04-01', '2022-04-04', '2022-04-05',
    '2022-04-06'], rotation = 45)
plt.title('某股票收盤價(jià)時(shí)序圖')
plt.xlabel('日期')
plt.ylabel('價(jià)格')
plt.grid(True)
plt.legend()
# 標(biāo)出每天的收盤價(jià)
for a, b in zip(x, y):
    plt.text(a, b+0.01, '%.1f'%b, ha='center', va='bottom', fontsize=9)
plt.text(c, d, '旅途中的寬', ha = 'center', fontsize = 50, rotation = -25, c = 'r')
plt.annotate('最低價(jià)', (x[y.index(min(y))], min(y)), (x[y.index(min(y))] + 2, min(y)), xycoords = 'data',
             arrowprops = dict(width = 3, headwidth = 10, headlength = 20, facecolor = 'g', shrink = 0.05), c = 'r',fontsize = 20)
plt.show()
登錄后復(fù)制

Python中Matplotlib圖像怎么添加標(biāo)簽

以上就是Python中Matplotlib圖像怎么添加標(biāo)簽的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

相關(guān)標(biāo)簽:
python速學(xué)教程(入門到精通)
python速學(xué)教程(入門到精通)

python怎么學(xué)習(xí)?python怎么入門?python在哪學(xué)?python怎么學(xué)才快?不用擔(dān)心,這里為大家提供了python速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!

下載
來源:億速云網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn
最新問題
開源免費(fèi)商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)