亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

本文教會(huì)我們調(diào)節(jié)Matplotlib子圖尺寸

89542767 / 1334人閱讀

  Matplotlib的能把許多張繪畫到了一個(gè)控制界面,這便制定到控制面板切分為一個(gè)個(gè)子圖,接下來(lái)本文關(guān)鍵為大家介紹了關(guān)于調(diào)整Matplotlib子圖尺寸的資料,原文中根據(jù)案例編碼推薦的十分詳盡,需用的小伙伴可以參考一下。


  前不久就遇到這種情況,始終忘記了寫,今夜夜深人靜時(shí)匯總這波~


  難題


  我堅(jiān)信,看見(jiàn)這篇文章博主得人,你一定早已會(huì)用Matplotlib中的pyplot繪圖。


  比如像這類圖

01.png

  你也應(yīng)該會(huì)調(diào)整單個(gè)圖的大小了,就是使用如下語(yǔ)句控制單個(gè)圖形figure的大小,比如我這里設(shè)的8*6的。

  fig3=plt.figure(figsize=(8,6))

  但隨著繼續(xù)深入的學(xué)習(xí),有時(shí)我們很有必要將兩個(gè)圖畫在一起,來(lái)做對(duì)比,所以你也應(yīng)該會(huì)在一個(gè)畫布上畫多個(gè)子圖了。比如下圖


  即是通過(guò)subplot實(shí)現(xiàn)


  #展示一下數(shù)據(jù)
  fig=plt.figure(figsize=(15,7))
  fig1=plt.subplot(231)
  plt.scatter(data.loc[:,'Avg.Area Income'],data.loc[:,'Price'])
  plt.title('Income VS Price')
  fig2=plt.subplot(232)
  plt.scatter(data.loc[:,'Avg.Area House Age'],data.loc[:,'Price'])
  plt.title('Age VS Price')
  fig3=plt.subplot(233)
  plt.scatter(data.loc[:,'Avg.Area Number of Rooms'],data.loc[:,'Price'])
  plt.title('Number VS Price')
  fig4=plt.subplot(234)
  plt.scatter(data.loc[:,'Area Population'],data.loc[:,'Price'])
  plt.title('Population VS Price')
  fig5=plt.subplot(235)
  plt.scatter(data.loc[:,'size'],data.loc[:,'Price'])
  plt.title('size VS Price')
  plt.show()


  目前為止圖好像沒(méi)有問(wèn)題,那問(wèn)題在哪呢?就是在子圖比較少的時(shí)候,整個(gè)圖可能會(huì)變形,出現(xiàn)下圖情況。

02.png

  這顯然不是我們期望的,我們希望他不要拉長(zhǎng)。但是貌似直接通過(guò)subplot畫出的子圖無(wú)法更改大小,網(wǎng)上給的一些方案也比較麻煩。


  簡(jiǎn)便的解決方法


  把這兩個(gè)子圖畫在同一個(gè)畫布里,這樣即是子圖無(wú)法改變,但是外面的畫布大小可以改變,子圖就可以根據(jù)外面畫布大小自適應(yīng)的顯示了。


  對(duì)于該圖

03.png

  其原始代碼為


  fig6=plt.subplot(121)
  label0=plt.scatter(X.loc[:,'V1'][y_corrected==0],X.loc[:,'V2'][y_corrected==0])
  label1=plt.scatter(X.loc[:,'V1'][y_corrected==1],X.loc[:,'V2'][y_corrected==1])
  label2=plt.scatter(X.loc[:,'V1'][y_corrected==2],X.loc[:,'V2'][y_corrected==2])
  plt.title("corrected data")
  plt.xlabel('V1')
  plt.ylabel('V2')
  plt.legend((label0,label1,label2),('label0','label1','label2'))
  plt.scatter(centers[:,0],centers[:,1])
  fig7=plt.subplot(122)
  label0=plt.scatter(X.loc[:,'V1'][y==0],X.loc[:,'V2'][y==0])
  label1=plt.scatter(X.loc[:,'V1'][y==1],X.loc[:,'V2'][y==1])
  label2=plt.scatter(X.loc[:,'V1'][y==2],X.loc[:,'V2'][y==2])
  plt.title("labled data")
  plt.xlabel('V1')
  plt.ylabel('V2')
  plt.legend((label0,label1,label2),('label0','label1','label2'))
  plt.scatter(centers[:,0],centers[:,1])
  plt.show()

  可以看到兩個(gè)子圖fig6和fig7都是直接使用subplot得到的,所以它變形了。


  修改后應(yīng)該是這樣的:

04.png

  對(duì)應(yīng)代碼:


  fig=plt.figure(figsize=(11,4))
  fig6=plt.subplot(121)
  label0=plt.scatter(X.loc[:,'V1'][y_corrected==0],X.loc[:,'V2'][y_corrected==0])
  label1=plt.scatter(X.loc[:,'V1'][y_corrected==1],X.loc[:,'V2'][y_corrected==1])
  label2=plt.scatter(X.loc[:,'V1'][y_corrected==2],X.loc[:,'V2'][y_corrected==2])
  plt.title("corrected data")
  plt.xlabel('V1')
  plt.ylabel('V2')
  plt.legend((label0,label1,label2),('label0','label1','label2'))
  plt.scatter(centers[:,0],centers[:,1])
  fig7=plt.subplot(122)
  label0=plt.scatter(X.loc[:,'V1'][y==0],X.loc[:,'V2'][y==0])
  label1=plt.scatter(X.loc[:,'V1'][y==1],X.loc[:,'V2'][y==1])
  label2=plt.scatter(X.loc[:,'V1'][y==2],X.loc[:,'V2'][y==2])
  plt.title("labled data")
  plt.xlabel('V1')
  plt.ylabel('V2')
  plt.legend((label0,label1,label2),('label0','label1','label2'))
  plt.scatter(centers[:,0],centers[:,1])
  plt.show()


  相比原來(lái)的代碼就多了第一行的操作,定一個(gè)合適畫布的大小就可以方便動(dòng)態(tài)調(diào)整子圖了。


  麻煩點(diǎn)的方法


  看到網(wǎng)上是有可以自定義子圖大小的方法的,不過(guò)相比我想出來(lái)的這個(gè)方法,感覺(jué)太麻煩了。這個(gè)方法能解決我這一類問(wèn)題了,如果后面遇到需要一個(gè)子圖大一個(gè)子圖小的問(wèn)題再多帶帶記錄把。


  總結(jié)


  這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/128713.html

相關(guān)文章

  • python圖像處理圖象的制作詳細(xì)說(shuō)明

      此篇文章主要是給大家介紹了python圖像處理圖象的制作實(shí)例詳細(xì)說(shuō)明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪  文章正文  事實(shí)上前邊咱們就早已運(yùn)用了圖象的制作,如:  io.imshow(img)  這一行代碼的本質(zhì)是運(yùn)用matplotlib包對(duì)圖片開(kāi)展制作,制作完成后,回到一個(gè)matplotlib類型的信息。因而,我們還可以這么寫:  impor...

    89542767 評(píng)論0 收藏0
  • Python+matplotlib繪制多子圖的方法詳解

      matplotlib作為一種常見(jiàn)的可視化圖形操作軟件,在日常的生活中應(yīng)用還是比較的廣泛的,下面跟著小編的視角,帶著大家去詳細(xì)解答Python+matplotlib繪制多子圖的方法。  本文速覽  matplotlib.pyplot api繪制子圖  面向?qū)ο蠓绞嚼L制子圖  matplotlib.gridspec.GridSpec繪制子圖  任意位置添加子圖  關(guān)于pyplot和面向?qū)ο髢煞N繪圖...

    89542767 評(píng)論0 收藏0
  • Python數(shù)據(jù)分析:直方圖及子圖的繪制

    摘要:直方圖的繪制也需要用到下的,只不過(guò)在繪制折線圖時(shí)我們采用的是,而繪制直方圖時(shí)我們需要采用。利用確定直方圖軸的范圍及間距,為最小值,為最大值,為間距。用繪制,為數(shù)據(jù),為直方圖的特性,可有可無(wú)。 1.直方圖的繪制也需要用到matplotlib下的pylab,只不過(guò)在繪制折線圖時(shí)我們采用的是plot(),而繪制直方圖時(shí)我們需要采用hist()。由于在繪制過(guò)程中缺少真實(shí)數(shù)據(jù),我在這里采用np....

    stonezhu 評(píng)論0 收藏0
  • Python--matplotlib繪圖可視化知識(shí)點(diǎn)整理

    摘要:本文作為學(xué)習(xí)過(guò)程中對(duì)一些常用知識(shí)點(diǎn)的整理,方便查找。所有繪圖操作僅對(duì)當(dāng)前圖和當(dāng)前坐標(biāo)有效。表示把圖標(biāo)分割成的網(wǎng)格。每個(gè)對(duì)象都是一個(gè)擁有自己坐標(biāo)系統(tǒng)的繪圖區(qū)域。避免比例壓縮為橢圓數(shù)據(jù)可視化入門教程繪圖核心剖析如何調(diào)整子圖的大小 本文作為學(xué)習(xí)過(guò)程中對(duì)matplotlib一些常用知識(shí)點(diǎn)的整理,方便查找。 強(qiáng)烈推薦ipython無(wú)論你工作在什么項(xiàng)目上,IPython都是值得推薦的。利用ipyt...

    nifhlheimr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<