国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python做圖基本之plt.contour案例詳細(xì)說明

89542767 / 1330人閱讀

  contour和contourf全是畫三維立體等高線圖的,接下來本文主要是為大家介紹了關(guān)于python做圖基本操作之plt.contour的相關(guān)信息,原文中依據(jù)案例編碼推薦的十分詳盡,需用的小伙伴可以參考一下


  序言


  plt.contour是python中用以畫等值線的函數(shù)公式,這兒簡(jiǎn)單的介紹plt.contour的應(yīng)用。


  應(yīng)用示例


  import numpy as np
  import matplotlib.pyplot as plt
  x=np.linspace(-3,3,50)#生成連續(xù)數(shù)據(jù)
  y=np.linspace(-3,3,50)#生成連續(xù)數(shù)據(jù)
  X,Y=np.meshgrid(x,y)


  畫出來的效果就是:

01.png

  #生成能夠在坐標(biāo)系中形成點(diǎn)陣的數(shù)組,這個(gè)可以去參考一下別的文章


  #https://lixiaoqian.blog.csdn.net/article/details/81532855這里講的比較詳細(xì)


  Z=X**2+Y**2#這里將高度設(shè)置為x^2+y^2,就能畫一個(gè)圓形的等高線


  C=plt.contour(x,y,Z,[2,5,8,10])#畫等高線#使用plt.contour(X,Y,Z,[2,5,8,10])也是沒問題的


  plt.clabel(C,inline=True,fontsize=10)


  plt.contour()函數(shù)公式本身


  plt.contour(X,Y,Z,[levels],**kwargs)


  plt就是matplotlib.pyplot


  X,Y表示是經(jīng)緯坐標(biāo)(這里就是可供選擇的,但如果不傳到的話那就是python依據(jù)傳到相對(duì)高度字符數(shù)組(Z)大小一鍵生成的座標(biāo)),通常許多會(huì)用字符數(shù)組,但實(shí)際上二維數(shù)組也是可以的


  Z意味著每一個(gè)座標(biāo)相對(duì)應(yīng)的相對(duì)高度值,是個(gè)字符數(shù)組,在其中每一個(gè)值表示是每一個(gè)座標(biāo)相對(duì)應(yīng)的相對(duì)高度XYZ的具體數(shù)據(jù)信息組成可以參考上邊的事例,在當(dāng)?shù)夭樵円幌滦畔⑹情L(zhǎng)什么樣子


  levels主要有兩種傳到方式。一種傳到一個(gè)整數(shù),這一整數(shù)金額表明你要制作的等值線的數(shù)量,可是顯示結(jié)果很有可能并不一定是和傳到的整數(shù)金額的數(shù)量同樣,是大概一樣的數(shù)量(很有可能相距一兩條)(怎么是大概數(shù)量呢?很有可能是python替你默認(rèn)設(shè)置產(chǎn)生的較為適宜的好多個(gè)等值線吧)。還有種方法就是傳到1個(gè)包括相對(duì)高度值的二維數(shù)組,那樣python便會(huì)畫出傳到相對(duì)高度值相對(duì)應(yīng)的等值線。


  其余主要參數(shù)cmap,linewidths,linestyles等這里不多闡述了


  plt.contour()圖片中的座標(biāo)

02.png

  因?yàn)閯傞_始這兒很搞混,因而在這兒對(duì)座標(biāo)所代表的信息進(jìn)行1個(gè)表述。要解釋這種情況,最先能夠引進(jìn)現(xiàn)實(shí)問題,例如一條路,通常情況下從飛機(jī)或是非常高的地區(qū)觀查那座山得話能看見那座山如同圓同樣,假如抽象化成平面圖的話那就成為解開了(這里就是指較為整齊的山啊)。隨后事實(shí)上等值線也是從那樣非常高的地方想象中的,通過各種專用工具把同樣相對(duì)高度部位在這個(gè)平面內(nèi)標(biāo)明出去,同樣相對(duì)高度部位依據(jù)線連在一起就會(huì)形成等值線。


  如果將剛講的圓放到平面坐標(biāo)中,那樣某一座標(biāo)(x,y)則表示所看到的那座山在平面圖角度來說所展現(xiàn)出的部位,如下圖所示:


  左側(cè)假定是一條路,上邊的紅色的點(diǎn)在平面圖角度來看便成為平面坐標(biāo)里的一個(gè)部位,這時(shí)相對(duì)高度早就在等高線圖中體現(xiàn)不出來了,這也就是為什么等值線的圖片需用標(biāo)明相對(duì)高度值。


  這兒融合立體圖來說也會(huì)更加形象化:將上邊的圓形等高線圖相對(duì)高度用三維模型呈現(xiàn)出來,應(yīng)用編碼為:


  from matplotlib import pyplot as plt
  from mpl_toolkits.mplot3d import Axes3D
  import numpy as np
  x=np.linspace(-3,3,50)
  y=np.linspace(-3,3,50)
  X,Y=np.meshgrid(x,y)
  Z=X**2+Y**2
  C=plt.contour(x,y,Z,[2,5,8,10])
  plt.clabel(C,inline=True,fontsize=10)
  fig=plt.figure()
  fig=plt.figure(figsize=(10,10))
  ax1=plt.axes(projection='3d')
  ax1.scatter3D(X,Y,z,cmap='Blues')


  圖上X,Y,Z都全部被變換為了能三維坐標(biāo)系里的座標(biāo),形成了一種類似球型的部分高度圖。Z軸便是每一個(gè)點(diǎn)相對(duì)應(yīng)的相對(duì)高度值,這兒設(shè)想如果將一整張圖從頂部拋向到xy二維動(dòng)畫平面坐標(biāo)中,假如取逐漸某好多個(gè)固定不動(dòng)相對(duì)高度值(如2,5,8),那這好多個(gè)固定不動(dòng)相對(duì)高度值對(duì)應(yīng)的座標(biāo)在二維動(dòng)畫平面坐標(biāo)中連在一起得話就成為1條等值線。

03.png

  在這里可以多看看好多個(gè)事例:


  x=np.linspace(-3,3,50)
  y=np.linspace(-3,3,50)
  X,Y=np.meshgrid(x,y)
  z=(np.exp(-X**2-Y**2)-np.exp(-(X-1)**2-(Y-1)**2))*2
  fig=plt.figure()
  fig=plt.figure(figsize=(10,10))
  ax1=plt.axes(projection='3d')
  ax1.scatter3D(X,Y,z,cmap='Blues')
  效果:
  其二維圖為:
  叮!
  不學(xué)不知道,學(xué)了才知道什么都不是想象的那么簡(jiǎn)單啊。
  補(bǔ)充:plt.contour等高線繪制
  import numpy as np
  import matplotlib.pyplot as plt
  def height(x,y):
  return(1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
  x=np.linspace(-3,3,300)
  y=np.linspace(-3,3,300)
  X,Y=np.meshgrid(x,y)
  #為等高線填充顏色10表示按照高度分成10層
  plt.contourf(X,Y,height(X,Y),10,alpha=0.75,cmap=plt.cm.hot)
  C=plt.contour(X,Y,height(X,Y),10,colors='black')
  #繪制等高線標(biāo)簽
  plt.clabel(C,inline=True,fontsize=10)
  #去掉坐標(biāo)軸刻度
  #plt.xticks(())
  #plt.yticks(())
  plt.show()


  #顯示圖片

06.png

  綜上所述,這篇文章就給大家介紹到這里了,希望可以給各位讀者帶來一定的幫助。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/128727.html

相關(guān)文章

  • 后端經(jīng)驗(yàn)

    摘要:在結(jié)構(gòu)上引入了頭結(jié)點(diǎn)和尾節(jié)點(diǎn),他們分別指向隊(duì)列的頭和尾,嘗試獲取鎖入隊(duì)服務(wù)教程在它提出十多年后的今天,已經(jīng)成為最重要的應(yīng)用技術(shù)之一。隨著編程經(jīng)驗(yàn)的日積月累,越來越感覺到了解虛擬機(jī)相關(guān)要領(lǐng)的重要性。 JVM 源碼分析之 Jstat 工具原理完全解讀 http://click.aliyun.com/m/8315/ JVM 源碼分析之 Jstat 工具原理完全解讀 http:...

    i_garfileo 評(píng)論0 收藏0
  • 2018電影票房分析-誰(shuí)才是票房

    摘要:另外由于豆瓣上一些電影評(píng)分?jǐn)?shù)量太少而不顯示,所以這里的電影數(shù)量會(huì)和票房數(shù)量有所差異。月度票房將類型片的票房按月劃分,得到了這張圖。 去年末的時(shí)候,我招收了新的 實(shí)訓(xùn)生 。本文是其中一位 @齊大圣 同學(xué)在實(shí)訓(xùn)兩個(gè)月時(shí)完成的項(xiàng)目案例。(碼上行動(dòng)群里同學(xué)應(yīng)該都看過這個(gè)名字,現(xiàn)在也是助教之一。)項(xiàng)目最初的想法是, 從互聯(lián)網(wǎng)上的公開信息中采集2018年在國(guó)內(nèi)上映電影的票房、評(píng)分、類型、演員等信息...

    stormjun 評(píng)論0 收藏0
  • Segmentfault的熱門標(biāo)簽,可視化展示?

    摘要:結(jié)論居首位,緊隨其后,位列第三。數(shù)據(jù)庫(kù)方面問題最多的還是。在各種技術(shù)名詞的標(biāo)簽下,還冒出一個(gè)程序員標(biāo)簽,排名第位。 結(jié)論 JavaScript居首位,HTML5緊隨其后,Python位列第三。 注:數(shù)據(jù)來源于569頁(yè)標(biāo)簽頁(yè)面的11,380 條記錄 showImg(https://segmentfault.com/img/bVXMRf?w=1178&h=548);showImg(http...

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

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

0條評(píng)論

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