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

python畫圖時(shí)給圖中的點(diǎn)加標(biāo)簽和plt.text的使用

 更新時(shí)間:2022年03月07日 09:56:50   作者:帥帥de三叔  
這篇文章主要介紹了python畫圖時(shí)給圖中的點(diǎn)加標(biāo)簽和plt.text的使用,利用matplotlib模塊畫各城市2019-nCoV疫情確診人數(shù)和節(jié)前流入人口數(shù)的圖的時(shí)候遇到了要給圖中的點(diǎn)加上標(biāo)簽示意,需要的朋友可以參考一下

背景:

今天在用matplotlib模塊畫各城市2019-nCoV疫情確診人數(shù)和節(jié)前流入人口數(shù)的圖的時(shí)候遇到了要給圖中的點(diǎn)加上標(biāo)簽示意,原本圖長(zhǎng)這個(gè)樣子

現(xiàn)在要給各散點(diǎn)標(biāo)注是哪個(gè)哪個(gè)城市,即下面這種圖:

matplotlib模塊加標(biāo)簽主要有matplotlib.pyplot.text()matplotlib.pyplot.annotate()兩個(gè)關(guān)鍵函數(shù),后者適用范圍更廣,今天主要談一下前者matplotlib.pyplot.text(),簡(jiǎn)寫成plt.text() 。

準(zhǔn)備知識(shí):

在此重點(diǎn)講一下plt.text()的用法和參數(shù)設(shè)置,plt.text()函數(shù)基本語(yǔ)法如下:

plt.text(x, y, s, fontsize, verticalalignment,horizontalalignment,rotation , **kwargs)

其中

  • x,y表示標(biāo)簽添加的位置,默認(rèn)是根據(jù)坐標(biāo)軸的數(shù)據(jù)來(lái)度量的,是絕對(duì)值,也就是說(shuō)圖中點(diǎn)所在位置的對(duì)應(yīng)的值,特別的,如果你要變換坐標(biāo)系的話,要用到transform=ax.transAxes參數(shù)。
  • s表示標(biāo)簽的符號(hào),字符串格式,比如你想加個(gè)“我愛(ài)三行科創(chuàng)”,更多的是你標(biāo)注跟數(shù)據(jù)有關(guān)的主體,你如實(shí)寫便是。
  • fontsize顧名思義就是你加標(biāo)簽字體大小了,取整數(shù)。
  • verticalalignment表示垂直對(duì)齊方式 ,可選 ‘center’ ,‘top’ , ‘bottom’,‘baseline’ 等
  • horizontalalignment表示水平對(duì)齊方式 ,可以填 ‘center’ , ‘right’ ,‘left’ 等
  • rotation表示標(biāo)簽的旋轉(zhuǎn)角度,以逆時(shí)針計(jì)算,取整
  • 后面還有 family 用來(lái)設(shè)置字體,style 設(shè)置字體的風(fēng)格,weight 字體的粗細(xì), bbox 給字體添加框,如 bbox=dict(facecolor=‘red’, alpha=0.5) 等,各種風(fēng)格,應(yīng)有盡有,總有一款適合你。

實(shí)例操作:

講解玩關(guān)鍵函數(shù)類plt.text()的用法之后,我們要進(jìn)行實(shí)際操作。首先,我們用下面代碼把第一張圖畫出來(lái)

import pandas as pd #導(dǎo)入數(shù)據(jù)分析模塊
import matplotlib.pyplot as plt #導(dǎo)入繪圖模塊類
plt.rcParams['font.sans-serif']=['SimHei'] #圖中文字體設(shè)置為黑體
plt.rcParams['axes.unicode_minus']=False #負(fù)值顯示
data=pd.read_excel(r"D:\城市租賃地圖\人流流動(dòng)與疫情發(fā)展\百度遷徙.xlsx") #讀取數(shù)據(jù)
city_name=data['city'] #城市名稱
people_flow=data['out_people']*100 #流出人口,單位百人
confirm=data['confirm(2.10)'] #確診人數(shù)

fig=plt.figure(figsize=(8,6)) #新建畫布
ax=plt.subplot(1,1,1) #子圖初始化
ax.scatter(people_flow,confirm) #繪制散點(diǎn)圖 ??
ax.set_title("人口流入-確診人數(shù)")
ax.set_xlabel("人口流入數(shù)(百人)")
ax.set_ylabel("確診人數(shù)")
plt.show()

然后再給第一個(gè)點(diǎn)加上標(biāo)簽,只需要添加一行代碼即可:

ax.text(430, 337, "北京", fontsize=12, color = "r", style = "italic", weight = "light", verticalalignment='center', horizontalalignment='right', rotation=90)

其中430, 337就是這個(gè)點(diǎn)的坐標(biāo)值,北京是這個(gè)點(diǎn)的主體,你可以不斷的去調(diào)后面的參數(shù)使其滿足你所需。

接著,我們要批量給圖中的點(diǎn)加上主體標(biāo)簽,使其看起來(lái)像第二張圖,需要用到循環(huán)語(yǔ)句來(lái)控制加標(biāo)簽的位置

for i in range(len(confirm)):
? ? ax.text(people_flow[i]*1.01, confirm[i]*1.01, city_name[i], fontsize=10, color = "r", style = "italic", weight = "light", verticalalignment='center', horizontalalignment='right',rotation=0) #給散點(diǎn)加標(biāo)簽

這里關(guān)鍵是里面偏移參數(shù)的設(shè)定,比如這里兩個(gè)偏移率都設(shè)置成1.01, 當(dāng)初想的是標(biāo)簽不要覆蓋原來(lái)的點(diǎn),兩者最好不重合,看起來(lái)大方得體,你可以開(kāi)始的設(shè)置成1.0,觀察效果然后慢慢調(diào)節(jié),舉個(gè)例子,如果是柱狀圖,且寬度適合的話,第一個(gè)偏移率設(shè)置成1.0,第二個(gè)設(shè)置成1.05左右,即稍微高出柱子多一丁點(diǎn)顯示柱子的標(biāo)簽。

完整代碼:

最后給出完整代碼,如果你不會(huì)寫代碼或者只要數(shù)據(jù)測(cè)試,百度遷徙.xlsx如下:

import pandas as pd #導(dǎo)入數(shù)據(jù)分析模塊
import matplotlib.pyplot as plt #導(dǎo)入繪圖模塊類
plt.rcParams['font.sans-serif']=['SimHei'] #圖中文字體設(shè)置為黑體
plt.rcParams['axes.unicode_minus']=False #負(fù)值顯示
data=pd.read_excel(r"D:\城市租賃地圖\人流流動(dòng)與疫情發(fā)展\百度遷徙.xlsx") #讀取數(shù)據(jù)
city_name=data['city'] #城市名稱
people_flow=data['out_people']*100 #流出人口,單位百人
confirm=data['confirm(2.10)'] #確診人數(shù)

fig=plt.figure(figsize=(8,6)) #新建畫布
ax=plt.subplot(1,1,1) #子圖初始化
ax.scatter(people_flow,confirm) #繪制散點(diǎn)圖 ??
ax.set_title("人口流入-確診人數(shù)")
ax.set_xlabel("人口流入數(shù)(百人)")
ax.set_ylabel("確診人數(shù)")
#ax.text(430, 337, "北京", fontsize=12, color = "r", style = "italic", weight = "light", verticalalignment='center', horizontalalignment='right',rotation=90)
for i in range(len(confirm)):
? ? ax.text(people_flow[i]*1.01, confirm[i]*1.01, city_name[i],?
? ? ? ? ? ? fontsize=10, color = "r", style = "italic", weight = "light",
? ? ? ? ? ? verticalalignment='center', horizontalalignment='right',rotation=0) #給散點(diǎn)加標(biāo)簽
plt.show()

到此這篇關(guān)于python畫圖時(shí)給圖中的點(diǎn)加標(biāo)簽和plt.text的使用的文章就介紹到這了,更多相關(guān)python給圖中點(diǎn)加標(biāo)簽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python request中文亂碼問(wèn)題解決方案

    Python request中文亂碼問(wèn)題解決方案

    這篇文章主要介紹了Python request中文亂碼問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python中Iterator迭代器的使用雜談

    Python中Iterator迭代器的使用雜談

    Python中的迭代器意義不僅是在iter函數(shù)上的運(yùn)用,更是一種處理可迭代對(duì)象的迭代器模式,這里我們來(lái)簡(jiǎn)單聊聊Python中Iterator迭代器的使用雜談:
    2016-06-06
  • 解決Jupyter Notebook使用parser.parse_args出現(xiàn)錯(cuò)誤問(wèn)題

    解決Jupyter Notebook使用parser.parse_args出現(xiàn)錯(cuò)誤問(wèn)題

    這篇文章主要介紹了解決Jupyter Notebook使用parser.parse_args出現(xiàn)錯(cuò)誤問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 在?Python?中利用Pool?進(jìn)行多處理

    在?Python?中利用Pool?進(jìn)行多處理

    這篇文章主要介紹了在?Python?中利用Pool進(jìn)行多處理,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值需要的小伙伴可以參考一下
    2022-04-04
  • Python數(shù)據(jù)操作方法封裝類實(shí)例

    Python數(shù)據(jù)操作方法封裝類實(shí)例

    這篇文章主要介紹了Python數(shù)據(jù)操作方法封裝類,結(jié)合具體實(shí)例形式分析了Python針對(duì)數(shù)據(jù)庫(kù)的連接、執(zhí)行sql語(yǔ)句、刪除、關(guān)閉等操作技巧,需要的朋友可以參考下
    2017-06-06
  • TensorFlow tf.nn.conv2d_transpose是怎樣實(shí)現(xiàn)反卷積的

    TensorFlow tf.nn.conv2d_transpose是怎樣實(shí)現(xiàn)反卷積的

    這篇文章主要介紹了TensorFlow tf.nn.conv2d_transpose是怎樣實(shí)現(xiàn)反卷積的,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Django實(shí)現(xiàn)自定義路由轉(zhuǎn)換器

    Django實(shí)現(xiàn)自定義路由轉(zhuǎn)換器

    有時(shí)候上面的內(nèi)置的url轉(zhuǎn)換器并不能滿足我們的需求,因此django給我們提供了一個(gè)接口可以讓我們自己定義自己的url轉(zhuǎn)換器,那么如何實(shí)現(xiàn),本文就來(lái)介紹一下
    2021-05-05
  • Python計(jì)算標(biāo)準(zhǔn)差之numpy.std和torch.std的區(qū)別

    Python計(jì)算標(biāo)準(zhǔn)差之numpy.std和torch.std的區(qū)別

    Torch自稱為神經(jīng)網(wǎng)絡(luò)中的numpy,它會(huì)將torch產(chǎn)生的tensor放在GPU中加速運(yùn)算,就像numpy會(huì)把a(bǔ)rray放在CPU中加速運(yùn)算,下面這篇文章主要給大家介紹了關(guān)于Python?Numpy計(jì)算標(biāo)準(zhǔn)差之numpy.std和torch.std區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Pandas讀取Excel文件的六種方法

    Pandas讀取Excel文件的六種方法

    Pandas 是一個(gè) Python 數(shù)據(jù)分析庫(kù),可以用來(lái)讀取 Excel 文件,Pandas提供了多種讀取Excel文件的方法,本文將給大家分享一些官方推薦的6種方法,代碼示例講解得非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Python實(shí)現(xiàn)視頻轉(zhuǎn)換為字符畫詳解

    Python實(shí)現(xiàn)視頻轉(zhuǎn)換為字符畫詳解

    這篇文章主要介紹了如何通過(guò)Python實(shí)現(xiàn)讀取視頻并將其轉(zhuǎn)換為字符畫的示例代碼,文中講解詳細(xì),對(duì)我們的學(xué)習(xí)和工作有一點(diǎn)的價(jià)值,感興趣的小伙伴可以了解一下
    2021-12-12

最新評(píng)論

赫章县| 长宁区| 昂仁县| 河北区| 东丰县| 宁津县| 三河市| 柘城县| 柳江县| 康乐县| 弥渡县| 罗甸县| 西平县| 郯城县| 渝北区| 东乌珠穆沁旗| 临西县| 原平市| 米林县| 历史| 甘德县| 荥阳市| 平陆县| 梧州市| 岚皋县| 西峡县| 邻水| 喀喇沁旗| 广河县| 玛纳斯县| 绥化市| 卓尼县| 方正县| 昆明市| 施秉县| 拜城县| 抚松县| 姜堰市| 青岛市| 庐江县| 运城市|