精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何在matplotlib中加注釋和內(nèi)嵌圖

開(kāi)發(fā) 后端
這篇文章會(huì)以一個(gè)實(shí)際的案例,詳細(xì)講講如何給數(shù)據(jù)加注解,同時(shí)也介紹一下一種比較騷的操作,即Matplotlib的內(nèi)嵌圖(把一張小圖嵌入到一張大圖中),學(xué)會(huì)這個(gè)后,你能夠繪制出這種圖形。

[[331954]]

 在用Matplotlib進(jìn)行可視化過(guò)程中,很多時(shí)候?yàn)榱烁庇^(guān)地展現(xiàn)數(shù)據(jù)大小,會(huì)將具體的數(shù)值標(biāo)注在圖形中,比如在柱狀圖上標(biāo)明數(shù)值大小。

這篇文章會(huì)以一個(gè)實(shí)際的案例,詳細(xì)講講如何給數(shù)據(jù)加注解,同時(shí)也介紹一下一種比較騷的操作,即Matplotlib的內(nèi)嵌圖(把一張小圖嵌入到一張大圖中),學(xué)會(huì)這個(gè)后,你能夠繪制出這種圖形

數(shù)據(jù)注釋

演示的數(shù)據(jù)集為2016年抵美(到達(dá)美國(guó))人數(shù)排名前十的國(guó)家數(shù)據(jù),包含國(guó)名和具體入境人數(shù),人數(shù)的具體單位為百萬(wàn)人次 

  1. import pandas as pd  
  2. import numpy as np  
  3. import matplotlib.pyplot as plt  
  4. %matplotlib inline  
  5. plt.rcParams['font.sans-serif'] = 'SimHei' 
  6. x_data = ['加拿大','墨西哥','英國(guó)','日本','中國(guó)','德國(guó)','韓國(guó)','法國(guó)','巴西','印度']  
  7. y_data = [13.428347,12.255948,3.019111,2.352919,2.09833,1.322882,1.282097,1.127868,1.109066,0.874016] 

有了數(shù)據(jù)后,可以非常快地畫(huà)出一張柱狀圖 

  1. fig,ax = plt.subplots(figsize=(16,6))  
  2. ax.bar(x_data,y_data) 

接下來(lái)開(kāi)始加注釋?zhuān)丛谥鶢顖D上顯示具體數(shù)值。在Matplotlib中,為數(shù)據(jù)加上注釋有兩種方式,一種是使用ax.text(),另一種則是ax.annotate()。

ax.text()

ax.text()的主要作用是為圖中加上一些text,也就是文字。不僅是能夠加注釋?zhuān)灰付俗鴺?biāo),可以在圖上的任何坐標(biāo)加上text。

函數(shù)中的幾個(gè)重要的參數(shù),具體介紹一下

  •  x:x的坐標(biāo)
  •  y:y的坐標(biāo)
  •  s:要加的文字
  •  rotation:文字旋轉(zhuǎn)的角度
  •  fontsize:文字字體大小
  •  fontweight:文字字體粗細(xì)

需要注意的是,每次調(diào)用ax.text()只能生成一個(gè)Text對(duì)象,也就是說(shuō)每次只能加一個(gè)注釋?zhuān)鄠€(gè)的話(huà)需要寫(xiě)循環(huán)生成。

所以一般加注釋是這么一個(gè)流程:先確定注釋的橫縱坐標(biāo)-->寫(xiě)循環(huán)調(diào)用ax.text() 

  1. fig,ax = plt.subplots(figsize=(16,6))  
  2. ax.bar(x_data,y_data)  
  3. # 循環(huán)生成text  
  4. # horizontalalignment參數(shù)設(shè)置注釋居中顯示  
  5. for x,y in zip(x_data,y_data):  
  6.     ax.text(x,y+0.05,y,fontsize=14,horizontalalignment='center'

關(guān)于圖表美化方面,這里暫時(shí)不過(guò)多贅述。

ax.annotate()

相比于ax.text(),ax.annotate()更像是專(zhuān)門(mén)為做注釋而生的,annotate便是注釋的意思。

ax.annotate()的注釋功能更強(qiáng)大,除了加入文本注釋外,如果有需要還能夠加上箭頭→進(jìn)行指示。

一些主要的參數(shù)如下:

  •  s:注釋文本
  •  xy:要加注釋的數(shù)據(jù)點(diǎn)位置
  •  xytext:文本注釋的位置,默認(rèn)情況下為xy
  •  arrowprops:一個(gè)控制箭頭的屬性的dict,如果需要顯示箭頭,必須要設(shè)置

這里比較有意思的兩個(gè)參數(shù)是xy和xytext,二者貌似沒(méi)啥區(qū)別的樣子,這個(gè)地方確實(shí)很容易產(chǎn)生困惑。

一般情況下,s和xy是必須要設(shè)置的參數(shù),如果不指定,xytext默認(rèn)和xy一致。

但如果要設(shè)置箭頭的話(huà),xy的坐標(biāo)則定義了箭頭的頭部,xytext則指定箭頭的尾部和文本注釋的位置,實(shí)際畫(huà)圖來(lái)理解看看。

ax.annotate()和ax.text()的畫(huà)圖流程是一致的,都需要循環(huán)生成注釋。

不設(shè)置箭頭,簡(jiǎn)單加上注釋 

  1. fig,ax = plt.subplots(figsize=(16,6))  
  2. ax.bar(x_data,y_data) 
  3. for x,y in zip(x_data,y_data):  
  4.     ax.annotate(y,(x,y+0.05),fontsize=14,horizontalalignment='center'

加上注釋并設(shè)置箭頭 

  1. fig,ax = plt.subplots(figsize=(16,6))  
  2. ax.bar(x_data,y_data)  
  3. # 箭頭頭部坐標(biāo)(x,y)  
  4. # 箭頭尾部坐標(biāo)(注釋坐標(biāo))為(x,y+1)  
  5. for x,y in zip(x_data,y_data):  
  6.     ax.annotate(y,xy = (x,y),xytext = (x,y+1),fontsize=14,horizontalalignment='center' 
  7.                arrowprops =dict(arrowstyle='->'))  
  8. # 將縱坐標(biāo)范圍擴(kuò)大  
  9. ax.set_ylim([0,16]) 

設(shè)置了顯示箭頭之后,可以明顯地看出,箭頭是由xytext坐標(biāo)指向xy的坐標(biāo)的,所以,當(dāng)你不需要設(shè)置箭頭的時(shí)候,xytext設(shè)置的意義并不大。

內(nèi)嵌圖

內(nèi)嵌圖大家可能用的比較少,但這種圖其實(shí)還是挺有用的。

拿上面的數(shù)據(jù)例子來(lái)說(shuō),柱狀圖顯示了2016年抵美人數(shù)排名前十的國(guó)家的具體人數(shù),如果這時(shí)想結(jié)合各大地域抵美人數(shù)的占比數(shù)據(jù)進(jìn)行分析,該如何繪圖?

一個(gè)比較直接的想法是用subplots子圖來(lái)實(shí)現(xiàn),比如上邊顯示柱狀圖,下邊顯示餅圖,如下: 

  1. zhou_name = ['西歐','亞洲','南美洲','大洋洲','加勒比地區(qū)','中東地區(qū)','中美洲','東歐','非洲']  
  2. zhou_percent = [36.2,30.8,13.9,4.3,4.1,3.8,2.8,2.6,1.5]  
  3. fig,ax = plt.subplots(2,1,figsize=(16,12))  
  4. ax[0].bar(x_data,y_data)  
  5. for x,y in zip(x_data,y_data):  
  6.     ax[0].annotate(y,(x,y+0.05),fontsize=14,horizontalalignment='center' 
  7. ax[1].pie(zhou_percent,labels=zhou_name,autopct='%1.1f%%'

這當(dāng)然是可行的,但還有更好的方案,那便是內(nèi)嵌圖。注意到這里的柱狀圖右側(cè)有很大的留白部分,如果把餅圖放到柱狀圖右側(cè)的留白部分會(huì)顯得更加直觀(guān)。

內(nèi)嵌圖有兩種生成方式,一種是fig.add_axes(),另一種則是使用inset_axes()。

fig.add_axes()

fig.add_axes()就是在原有的Figure上加上一個(gè)新的區(qū)域Axes,然后在這個(gè)區(qū)域中繪制圖形。

使用這個(gè)方法的話(huà)需要指定新增的這個(gè)區(qū)域Axes在Figure中的相對(duì)位置和區(qū)域大小,輸入?yún)?shù)均為相對(duì)于原來(lái)Figure的比例值,如下: 

  1. # left和bottom控制新Axes的位置  
  2. # width和height控制新Axes的大小(長(zhǎng)寬)  
  3. # 這些均用相對(duì)數(shù)來(lái)表示,大小在0-1之間  
  4. left,bottom,width,height = [0.5,0.3,0.5,0.5]  
  5. fig,ax1 = plt.subplots(figsize=(16,6))  
  6. ax1.bar(x_data,y_data)  
  7. for x,y in zip(x_data,y_data):  
  8.     ax1.annotate(y,(x,y+0.05),fontsize=14,horizontalalignment='center' 
  9. # 運(yùn)用fig.add_axes()新增一個(gè)區(qū)域Axes繪圖  
  10. ax2 = fig.add_axes([left,bottom,width,height])  
  11. ax2.pie(zhou_percent,labels=zhou_name,autopct='%1.1f%%'

inset_axes

相比于fig.add_axes()需要對(duì)相對(duì)位置進(jìn)行調(diào)試,使用inset_axes()進(jìn)行繪圖則可以方便進(jìn)行定位。

inset_axes中的位置由參數(shù)loc設(shè)置,可以用字符串控制,也可以輸入數(shù)字,具體如下: 

  1. 'upper right'  : 1  
  2. 'upper left'   : 2  
  3. 'lower left'   : 3 
  4. ...... 
  5. 'upper center' : 9  
  6. 'center'       : 10  
  1. # 使用前需要先導(dǎo)包  
  2. from mpl_toolkits.axes_grid1.inset_locator import inset_axes  
  3. fig,ax1 = plt.subplots(figsize=(16,6))  
  4. ax1.bar(x_data,y_data)  
  5. for x,y in zip(x_data,y_data):  
  6.     ax1.annotate(y,(x,y+0.05),fontsize=14,horizontalalignment='center' 
  7. # 將內(nèi)嵌圖置于右側(cè),寬度和長(zhǎng)度分別為相對(duì)長(zhǎng)度  
  8. ax2 = inset_axes(ax1,width = '60%',height = '60%',loc='right' 
  9. ax2.pie(zhou_percent,labels=zhou_name,autopct='%1.1f%%'

美化方面這里就不再多講了,具體可以參照這篇文章如何用 Matplotlib 畫(huà)一張好看的圖。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Python中文社區(qū)
相關(guān)推薦

2023-10-19 14:52:27

2023-11-30 20:51:26

多子圖布局matplotlib

2017-02-08 21:20:24

LinuxUbuntu加密硬盤(pán)

2013-11-13 09:22:16

2013-04-02 15:23:12

2023-08-28 15:52:10

LinuxPDF

2024-03-25 00:02:00

Android移動(dòng)開(kāi)發(fā)視頻

2020-02-24 13:06:55

Python數(shù)據(jù)幀開(kāi)發(fā)

2023-01-18 17:22:38

YAML注釋Linux

2022-09-26 08:35:53

磁盤(pán)Java解密

2009-11-24 19:33:07

PHP字符串中加入變量

2012-11-30 16:02:57

在vSphereiSCSI存儲(chǔ)虛擬化

2013-04-01 15:15:35

Eclipse自動(dòng)添加Android開(kāi)發(fā)

2011-10-13 16:34:30

MeeGoQt插件

2011-08-01 15:20:51

SQL Server索引

2011-03-02 17:41:28

2011-03-18 09:48:32

2015-08-05 09:40:26

2010-09-07 14:22:41

SQL語(yǔ)句

2020-05-19 13:55:38

Python加密密碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产熟女一区二区| 免费高清一区二区三区| 无码免费一区二区三区| 欧美军人男男激情gay| 欧美制服丝袜第一页| 一区精品在线| 欧美77777| 男人的天堂亚洲在线| www.国产精品一二区| 26uuu国产| 四虎4545www精品视频| 亚洲视频一区在线观看| 国产日韩精品久久| 成人毛片一区二区三区| 在线看片不卡| 亚洲色图美腿丝袜| 潘金莲一级淫片aaaaa| 亚洲承认视频| 亚洲最新视频在线播放| 日韩精品一线二线三线| 国产乱子伦精品无码码专区| 99这里有精品| 超薄丝袜一区二区| 亚洲久久久久久久| 超碰精品在线| 欧美猛男超大videosgay| 久久视频这里有精品| 日本中文字幕在线2020| 成人高清免费观看| 91深夜福利视频| 日韩免费av网站| 亚洲激情女人| 欧美精品一区二区三区国产精品| 精品成人av一区二区三区| 亚洲国产欧美国产第一区| 色拍拍在线精品视频8848| h无码动漫在线观看| 午夜在线观看视频| 久久午夜羞羞影院免费观看| 超碰在线97av| 国产精品久久久久精| 视频一区欧美日韩| 欧美性一区二区三区| 九九热国产在线| 小小影院久久| 深夜成人在线观看| 精品人妻一区二区三区日产| 欧美h版在线观看| 欧美精品色综合| 8x8x最新地址| 国产成人精品123区免费视频| 亚洲成av人片在线| 日本黄色片一级片| 手机在线免费观看av| 亚洲欧洲色图综合| 亚洲一区三区| 素人av在线| 国产精品美女久久久久久| 欧美精品一区二区三区在线看午夜 | 欧美插天视频在线播放| 久久久久人妻一区精品色| 成人综合一区| 中文字幕亚洲情99在线| 91社区视频在线观看| 精品国产午夜| 中文字幕亚洲国产| 国产精品suv一区二区88| 精品久久久久中文慕人妻| 国产精品一国产精品k频道56| 欧美激情网友自拍| 久久高清免费视频| 中文一区在线| 日本欧美中文字幕| 中文字幕xxxx| 蜜芽一区二区三区| 国产日韩精品视频| 国产视频在线免费观看| 国产高清不卡一区| 国产精品theporn88| 欧性猛交ⅹxxx乱大交| 99riav一区二区三区| 噜噜噜噜噜久久久久久91| 邻居大乳一区二区三区| 亚洲国产精品黑人久久久| 亚洲免费视频一区| 亚洲综合伊人久久大杳蕉| 亚洲一区二区欧美激情| 成熟了的熟妇毛茸茸| 欧美日韩精品免费观看视欧美高清免费大片 | 欧美成人伊人久久综合网| 国产人妖在线观看| 香蕉久久精品| 色天天综合狠狠色| 久久中文字幕无码| 亚洲永久网站| 国产日韩在线观看av| 亚洲av无码一区二区乱子伦| 97久久久精品综合88久久| 日韩欧美三级电影| 污网站在线免费看| 色偷偷久久人人79超碰人人澡| www.色欧美| 成人av综合网| 色噜噜亚洲精品中文字幕| 国产真实夫妇交换视频| 日韩电影在线观看电影| 国产高清一区视频| 国产精品一级伦理| 亚洲一本大道在线| 午夜免费看毛片| 牛牛精品成人免费视频| 中文字幕视频一区二区在线有码| 久久久久久久国产视频| 日韩电影在线观看网站| 国外成人在线视频网站| 日本中文字幕在线观看| 欧美日韩中文在线| 日本少妇激三级做爰在线| 五月综合久久| 欧美久久久精品| 4438国产精品一区二区| 夫妻av一区二区| 亚洲二区三区四区| 天堂中文av在线资源库| 51精品秘密在线观看| 91视频在线网站| 亚洲国产国产亚洲一二三| 成人国产精品色哟哟| 青青免费在线视频| 亚洲国产成人va在线观看天堂| 狠狠操狠狠干视频| 九九久久婷婷| 97久久超碰福利国产精品…| 国产av一区二区三区| 国产精品午夜久久| 国产成人无码一二三区视频| 国产精品玖玖玖在线资源| 久久综合久久八八| 91精品国自产| 国产精品欧美综合在线| 国产视频一区二区三区在线播放| 国产欧美自拍一区| 欧美肥臀大乳一区二区免费视频| 999久久久久久| 成人欧美一区二区三区在线播放| 五月婷婷六月合| 精品久久久久久久久久久下田| 国产91精品高潮白浆喷水| 国产综合视频在线| 一区二区三区免费看视频| 亚洲AV无码久久精品国产一区| 久久国产成人精品| 91九色精品视频| 黄色免费在线看| 欧美一区二区三区的| 成人免费视频网站入口::| 九色porny丨国产精品| 在线成人性视频| 国产不卡精品| 欧美成在线视频| 国 产 黄 色 大 片| 亚洲国产精品尤物yw在线观看| 苍井空张开腿实干12次| 黄色亚洲在线| 国产一区不卡在线观看| 一级毛片久久久| 一本大道久久加勒比香蕉| 中文字幕免费高清网站| 国产精品美女久久久久高潮| 中文字幕亚洲影院| 欧美国产激情| 国产一区自拍视频| 中文字幕乱码在线播放| 伊人久久大香线蕉av一区二区| 依依成人在线视频| 亚洲美女屁股眼交3| 中文字幕在线国产| 在线亚洲精品| 婷婷四月色综合| 国产一区二区三区精品在线观看| 久久99热这里只有精品国产| 网站黄在线观看| 91福利精品视频| 国产第一页浮力| 成人h精品动漫一区二区三区| 春日野结衣av| 欧美3p视频| 国外成人在线视频网站| 成人一区视频| 午夜精品久久久久久久久久久久 | 成人美女视频在线看| 午夜肉伦伦影院| 99久久99久久精品国产片桃花| 国产精品久久国产三级国电话系列 | 欧美国产第二页| 日韩精品系列| 69精品人人人人| 国产成人免费观看视频| 国产精品久久久久影视| 亚洲av熟女高潮一区二区| 日本成人在线一区| 国产精品成人久久电影| 成人在线电影在线观看视频| 高清免费日韩| 国产资源一区| 欧美亚洲成人精品| free性欧美hd另类精品| 亚洲欧美国产精品专区久久| 国产视频在线免费观看| 在线观看免费成人| 国产一级特黄aaa大片| 国产精品毛片久久久久久久| 国产又粗又猛又色| 韩国视频一区二区| 国产精品igao| 宅男噜噜噜66一区二区| 亚洲欧美日韩不卡| 精品国产aⅴ| 精品国产免费久久久久久尖叫| 成人97精品毛片免费看| 国产精品www网站| 精精国产xxxx视频在线播放| 久久国产精品网站| 午夜在线免费观看视频| 亚洲视频在线免费观看| 内射后入在线观看一区| 欧美一区二区在线不卡| 亚洲无码精品在线观看| 91官网在线免费观看| 日本一级一片免费视频| 亚洲最大色网站| 国产成人自拍网站| 国产精品萝li| 免费成人深夜天涯网站| 91日韩精品一区| 尤物网站在线观看| 国产91丝袜在线18| 国产sm在线观看| 国产精品系列在线播放| 久久久久久综合网| 麻豆精品一区二区三区| 日韩一级片播放| 久久aⅴ乱码一区二区三区| 免费在线a视频| 国产欧美精品久久| 国产91对白刺激露脸在线观看| 99国产精品久久久久久久| 男人天堂av片| 亚洲午夜激情在线| 欧美视频在线观看视频| 亚洲成人资源| 9久久9毛片又大又硬又粗| 亚洲欧洲日本mm| 国产原创中文在线观看| 亚洲韩日在线| 成人在线免费观看av| 美女爽到呻吟久久久久| 大肉大捧一进一出好爽动态图| 久久久一二三| 天天爽人人爽夜夜爽| 免费在线观看一区二区三区| 五月婷婷丁香色| 激情综合五月婷婷| 在线成人免费av| 国产不卡在线视频| 日韩av手机在线播放| 94色蜜桃网一区二区三区| 在线观看国产免费视频| 久久久久国产精品免费免费搜索 | 亚洲四区在线观看| 青青草精品在线视频| 一区二区高清免费观看影视大全 | 在线免费精品视频| 在线观看免费高清视频| 欧美一区二区三区视频| 亚洲精选一区二区三区| 日韩成人免费视频| 国产爆初菊在线观看免费视频网站 | 成年人小视频在线观看| 久久亚洲私人国产精品va媚药| 人与嘼交av免费| 亚洲欧美日本在线| 日韩av片在线播放| 欧美午夜寂寞影院| 午夜精品久久久久久久99热黄桃 | 国产麻豆xxxvideo实拍| 久久综合九色综合97_久久久| 国产成人av一区二区三区不卡| 国产精品欧美一区二区三区| 久久久久久久久久一区二区三区 | 中文字幕人妻色偷偷久久| 日韩精品一区在线| 毛片免费在线| 欧美高清视频在线| 日韩电影大全网站| 亚洲综合色激情五月| 婷婷综合一区| 最新欧美日韩亚洲| 亚洲视频大全| 久久久久久久久久久久久久久国产| 成人三级在线视频| 91导航在线观看| 亚洲va天堂va国产va久| 涩涩视频在线观看| 亚洲成人aaa| 久操视频在线观看| 日本久久久a级免费| 日本精品视频| 亚洲高清在线观看一区| 亚洲另类黄色| 两女双腿交缠激烈磨豆腐| 久久久久国产精品厨房| 久久久久久久久久久网| 欧美精品久久一区二区三区| 欧美日韩视频精品二区| 久久久久国产精品免费| 欧美日韩va| 任我爽在线视频精品一| 亚洲国产日本| 中文字幕在线视频一区二区| 欧美激情一区二区三区在线| 国产精品美女久久久久av爽| 日韩欧美国产一区二区三区| gogogo高清在线观看免费完整版| 91精品国产一区| 一区二区三区亚洲变态调教大结局| 亚洲视频小说| 葵司免费一区二区三区四区五区| 又黄又爽的网站| 亚洲三级视频在线观看| 涩涩视频在线观看| 亚洲日韩第一页| 中文字幕在线中文字幕在线中三区| 国产精品区免费视频| 中文不卡在线| 91国内在线播放| 国产精品久久久久久久裸模| 欧美h在线观看| 日韩成人av网址| а√在线天堂官网| 国产精品入口免费| 国产精品红桃| 91人人澡人人爽| 亚洲综合男人的天堂| 99在线小视频| 欧美成人免费va影院高清| 欧美电影院免费观看| 青少年xxxxx性开放hg| 久久99国产精品久久99| 萌白酱视频在线| 欧美喷潮久久久xxxxx| 日本在线人成| 91免费看片网站| 女同性一区二区三区人了人一| 成人免费播放视频| 亚洲国产精品久久人人爱蜜臀| 神马午夜在线观看| 欧美亚洲国产精品| 欧美日韩激情| 成年网站免费在线观看| ㊣最新国产の精品bt伙计久久| 国产乱码精品一区二三区蜜臂| 欧美精品一区在线播放| 精品视频在线你懂得| 能在线观看的av| 中文子幕无线码一区tr| 国产精品污视频| 欧美国产在线电影| 欧美三级午夜理伦三级小说| 日本三级免费观看| 国产欧美日韩不卡免费| 国产又粗又猛又黄| 色综合五月天导航| 偷拍自拍一区| 国产乱女淫av麻豆国产| 一级做a爱片久久| 日韩电影在线观看完整版| 国产精品毛片a∨一区二区三区|国| 国产欧美一区二区精品久久久| 欧美日韩一区二区三区69堂| 亚洲精品日韩一| 无码精品在线观看| 国产精品久久久久久亚洲调教| 小处雏高清一区二区三区| av黄色一级片| 欧美日韩在线直播| 三级福利片在线观看| 欧美激情专区| 韩日av一区二区| 日日噜噜噜噜人人爽亚洲精品| www.日本久久久久com.| 精品无人区一区二区| 天堂av在线网站| 亚洲国产精品精华液网站| 成年人视频网站在线| 国产精品免费一区二区三区观看| 天堂va蜜桃一区二区三区| 国产精品免费人成网站酒店| 国产手机视频精品| 日韩精品一区二区三区中文字幕 |