❶ python浠g爜鐢籎OJO
Python鏄涓縐嶉潪甯告祦琛岀殑緙栫▼璇璦錛屽畠鍙浠ョ敤鏉ュ畬鎴愬悇縐嶅悇鏍風殑浠誨姟錛屽寘鎷緇樺埗鍥懼艦銆傚湪鏈鏂囦腑錛屾垜灝嗕粙緇嶅備綍浣跨敤Python浠g爜鏉ョ粯鍒禞OJO鐨勫浘鍍忋
棣栧厛錛屾垜浠闇瑕佸畨瑁匬ython鐨勭粯鍥懼簱鈥斺攖urtle銆傚湪瀹夎呭畬鎴愬悗錛屾垜浠鍙浠ヤ嬌鐢ㄤ互涓嬩唬鐮佹潵瀵煎叆搴撳苟鍒涘緩鐢誨竷錛
```python
import turtle
canvas = turtle.Screen()
canvas.setup(800, 800)
canvas.title('JOJO')
```
鍦ㄥ壋寤虹敾甯冨悗錛屾垜浠鍙浠ュ紑濮嬬粯鍒禞OJO鐨勫浘鍍忋傛垜浠闇瑕佷嬌鐢╰urtle搴撲腑鐨勫嚱鏁版潵緇樺埗綰挎潯銆佸浘褰㈠拰鏂囧瓧銆備互涓嬫槸涓浜涘父鐢ㄧ殑鍑芥暟錛
- turtle.forward(distance)錛氬悜鍓嶇Щ鍔ㄦ寚瀹氳窛紱葷殑綰挎潯
- turtle.right(angle)錛氬悜鍙寵漿鍔ㄦ寚瀹氳掑害
- turtle.left(angle)錛氬悜宸﹁漿鍔ㄦ寚瀹氳掑害
- turtle.penup()錛氭姮璧風敾絎旓紝涓嶇粯鍒剁嚎鏉
- turtle.pendown()錛氭斁涓嬬敾絎旓紝寮濮嬬粯鍒剁嚎鏉
- turtle.circle(radius)錛氱粯鍒舵寚瀹氬崐寰勭殑鍦嗗艦
- turtle.write(text)錛氱粯鍒舵寚瀹氭枃鏈
鎺ヤ笅鏉ワ紝鎴戜滑鍙浠ヤ嬌鐢ㄨ繖浜涘嚱鏁版潵緇樺埗JOJO鐨勫ご閮ㄣ佽韓浣撱佹墜鑷傚拰鑵褲備互涓嬫槸紺轟緥浠g爜錛
```python
pen = turtle.Turtle()
pen.speed(0)
pen.pensize(5)
pen.color('black', 'white')
# 緇樺埗澶撮儴
pen.begin_fill()
pen.circle(100)
pen.end_fill()
# 緇樺埗韜浣
pen.penup()
pen.goto(0, -150)
pen.pendown()
pen.begin_fill()
pen.circle(150)
pen.end_fill()
# 緇樺埗鎵嬭噦
pen.penup()
pen.goto(-70, -120)
pen.pendown()
pen.right(30)
pen.forward(120)
pen.left(60)
pen.forward(100)
pen.penup()
pen.goto(70, -120)
pen.pendown()
pen.left(120)
pen.forward(120)
pen.right(60)
pen.forward(100)
# 緇樺埗鑵
pen.penup()
pen.goto(-50, -280)
pen.pendown()
pen.right(30)
pen.forward(120)
pen.left(60)
pen.forward(100)
pen.penup()
pen.goto(50, -280)
pen.pendown()
pen.left(120)
pen.forward(120)
pen.right(60)
pen.forward(100)
```
榪愯屼互涓婁唬鐮佸悗錛屾垜浠灝卞彲浠ュ湪鐢誨竷涓婄湅鍒扮粯鍒跺嚭鏉ョ殑JOJO鍥懼儚浜嗐
闄や簡緇樺埗鍩烘湰鍥懼艦澶栵紝鎴戜滑榪樺彲浠ヤ嬌鐢≒ython浠g爜鏉ユ坊鍔犻滆壊銆佺汗鐞嗗拰闃村獎絳夋晥鏋溿備緥濡傦紝鎴戜滑鍙浠ヤ嬌鐢ㄤ互涓嬩唬鐮佷負JOJO鐨勫ご閮ㄦ坊鍔犵汗鐞嗭細
```python
pen.penup()
pen.goto(0, 50)
pen.pendown()
pen.color('black', 'grey')
pen.begin_fill()
for i in range(8):
pen.circle(20, 45)
pen.end_fill()
```
閫氳繃浠ヤ笂浠g爜錛屾垜浠鍙浠ュ湪JOJO鐨勫ご閮ㄤ笂緇樺埗鍑轟竴浜涘皬鍦嗗湀錛屼粠鑰屽疄鐜扮汗鐞嗘晥鏋溿
鎬諱箣錛孭ython浠g爜鍙浠ョ敤浜庣粯鍒跺悇縐嶅悇鏍風殑鍥懼儚錛屽寘鎷琂OJO銆傚笇鏈涙湰鏂囪兘澶熷府鍔╁ぇ瀹舵洿濂藉湴鎺屾彙Python緇樺浘鎶宸э紝鍒涗綔鍑烘洿鍔犱紭緹庣殑鍥懼儚銆
❷ Python中除了matplotlib外還有哪些數據可視化的庫
數據可視化是展示數據、理解數據的有效手段,常用的Python數據可視化庫如下:
1.Matplotlib:第一個Python可視化庫,有許多別的程序庫都是建立在其基礎上或者直接調用該庫,可以很方便地得到數據的大致信息,功能非常強大,但也非常復雜。
2.Seaborn:利用Matplotlib,用簡潔的代碼來製作好看的圖表,與Matplotlib最大的區別為默認繪圖風格和色彩搭配都具有現代美感。
3.ggplot:基於R的一個作圖庫的ggplot2,同時利用了源於《圖像語法》中的概念,允許疊加不同的圖層來完成一幅圖,並不適用於製作非常個性化的圖像,為操作的簡潔度而犧牲了圖像的復雜度。
4.Bokeh:與ggplot很相似,但與ggplot不同之處為它完全基於Python而不是從R處引用。長處在於能用於製作可交互、可直接用於網路的圖表。圖表可以輸出為JSON對象、HTML文檔或者可交互的網路應用。
5.Plotly:可以通過Python notebook使用,與bokeh一樣致力於交互圖表的製作,但提供在別的庫中幾乎沒有的幾種圖表類型,如等值線圖、樹形圖和三維圖表。
6.pygal:與Bokeh和Plotly一樣,提供可直接嵌入網路瀏覽器的可交互圖像。與其他兩者的主要區別在於可將圖表輸出為SVG格式,所有的圖表都被封裝成方法,且默認的風格也很漂亮,用幾行代碼就可以很容易地製作出漂亮的圖表。
7.geoplotlib:用於製作地圖和地理相關數據的工具箱。可用來製作多種地圖,比如等值區域圖、熱度圖、點密度圖等,必須安裝Pyglet方可使用。
8.missingno:用圖像的方式快速評估數據缺失的情況,可根據數據的完整度對數據進行排序或過濾,或者根據熱度圖或樹狀圖對數據進行修正。
❸ Python中數據可視化經典庫有哪些
Python有很多經典的數據可視化庫,比較經典的數據可視化庫有下面幾個。
是Python編程語言及其數值數學擴展包 NumPy 的可視化操作界面。它利用通用的圖形用戶界面工具包,如 Tkinter, wxPython, Qt 或 GTK+,向應用程序嵌入式繪圖提供了應用程序介面。
pyplot 是 matplotlib 的一個模塊,它提供了一個類似 MATLAB 的介面。 matplotlib 被設計得用起來像 MATLAB,具有使用 Python 的能力。
優點:繪圖質量高,可繪制出版物質量級別的圖形。代碼夠簡單,易於理解和擴展,使繪圖變得輕松,通過Matplotlib可以很輕松地畫一些或簡單或復雜的圖形,幾行代碼即可生成直方圖、條形圖、散點圖、密度圖等等,最重要的是免費和開源。
優點:用於創建、操縱和研究復雜網路的結構、以及學習復雜網路的結構、功能及其動力學。
上面是我的回答,希望對您有所幫助!
❹ python絎涓夋柟搴撴湁鍝浜
python絎涓夋柟搴撳寘鎷錛歍VTK銆丮ayavi銆乀raitUI銆丼ciPy銆
Python絎涓夋柟搴揟VTK錛岃茶В縐戝﹁$畻涓夌淮琛ㄨ揪鍜屽彲瑙嗗寲鐨勫熀鏈姒傚康銆
Python絎涓夋柟搴揗ayavi錛岃茶В縐戝﹁$畻涓夌淮琛ㄨ揪鍜屽彲瑙嗗寲鐨勪嬌鐢ㄦ柟娉曘
Python絎涓夋柟搴揟raitUI錛岃茶В浜や簰寮忕戝﹁$畻涓夌淮鏁堟灉搴旂敤鐨勫紑鍙戞柟娉曘
Python絎涓夋柟搴揝ciPy錛屽垵姝ヤ粙緇嶇戝﹁$畻宸ュ叿綆便
Python縐戝﹁$畻涓夌淮鍙瑙嗗寲璇劇▼璁茶В錛屽埄鐢≒ython璇璦瀵圭戝﹁$畻鏁版嵁榪涜岃〃杈懼拰涓夌淮鍙瑙嗗寲灞曠ず鐨勬妧鏈鍜屾柟娉曪紝甯鍔╁︿範鑰呮帉鎻″埄鐢ㄤ笁緇存晥鏋滆〃杈劇戝﹀拰宸ョ▼鏁版嵁鐨勮兘鍔涖侾ython縐戝﹁$畻涓夌淮鍙瑙嗗寲璇劇▼闈㈠悜縐戝﹀拰宸ョ▼鑳屾櫙鐨勭紪紼嬪︿範鑰呫
Python鐨勭壒鐐
綆鍗曪細Python鏄涓縐嶄唬琛ㄧ畝鍗曚富涔夋濇兂鐨勮璦銆傞槄璇諱竴涓鑹濂界殑Python紼嬪簭灝辨劅瑙夊儚鏄鍦ㄨ昏嫳璇涓鏍楓傚畠浣誇綘鑳藉熶笓娉ㄤ簬瑙e喅闂棰樿屼笉鏄鍘繪悶鏄庣櫧璇璦鏈韜銆
鏄撳︼細Python鏋佸叾瀹規槗涓婃墜錛屽洜涓篜ython鏈夋瀬鍏剁畝鍗曠殑璇存槑鏂囨。銆
鏄撶淮鎶わ細椋庢牸娓呮櫚鍒掍竴銆佸己鍒剁緝榪涖
閫熷害杈冨揩錛歅ython鐨勫簳灞傛槸鐢–璇璦鍐欑殑錛屽緢澶氭爣鍑嗗簱鍜岀涓夋柟搴撲篃閮芥槸鐢–鍐欑殑錛岃繍琛岄熷害闈炲父蹇銆
鍏嶈垂寮婧愶細Python鏄疐LOSS錛堣嚜鐢憋紡寮鏀炬簮鐮佽蔣浠訛級涔嬩竴銆備嬌鐢ㄨ呭彲浠ヨ嚜鐢卞湴鍙戝竷榪欎釜杞浠剁殑鎷瘋礉銆侀槄璇誨畠鐨勬簮浠g爜銆佸瑰畠鍋氭敼鍔ㄣ佹妸瀹冪殑涓閮ㄥ垎鐢ㄤ簬鏂扮殑鑷鐢辮蔣浠朵腑銆侳LOSS鏄鍩轟簬涓涓鍥浣撳垎浜鐭ヨ瘑鐨勬傚康銆
浠ヤ笂鍐呭瑰弬鑰鐧懼害鐧劇-Python縐戝﹁$畻涓夌淮鍙瑙嗗寲
❺ Python 的實時繪圖庫選哪個好
Matplotlib
速度慢,適用於繪制高質量的圖像,但不適用於快速的實時繪圖。PyQtGraph官網
對此評論為:If you are doing anything requiring rapid plot updates, video, or
realtime interactivity, matplotlib is not the best choice.
PyQwt
不支持PyQt5,還有就是不再維護了,PyQtGraph官網
對此評論為:Its main drawback is that it is currently unmaintained and can be
difficult to get working on a variety of platforms. Hopefully in the
future it may find a new maintainer, but until then it may be best to
avoid PyQwt.
PyQtGraph
使用Python編寫,支持PyQt4和PyQt5,最新發布版本為0.10.0停留在2016年。
PythonQwt
使用Python編寫,支持PyQt4和PyQt5,PythonQwt的GitHub主頁
對此介紹為:The PythonQwt package is a 2D-data plotting library using Qt
graphical user interfaces for the Python programming language. It is
compatible with both PyQt4 and PyQt5.
guiqwt
和PythonQwt是同一作者,基於PythonQwt做了功能擴展,最新發布版本為3.0.3停留在2016年。
❻ 常用的十大python圖像處理工具
原文標題:10 Python image manipulation tools.
作者 | Parul Pandey
翻譯 | 安其羅喬爾、JimmyHua
今天,在我們的世界裡充滿了數據,圖像成為構成這些數據的重要組成部分。但無論是用於何種用途,這些圖像都需要進行處理。圖像處理就是分析和處理數字圖像的過程,主要旨在提高其質量或從中提取一些信息,然後可以將其用於某種用途。
圖像處理中的常見任務包括顯示圖像,基本操作如裁剪、翻轉、旋轉等,圖像分割,分類和特徵提取,圖像恢復和圖像識別。Python成為這種圖像處理任務是一個恰當選擇,這是因為它作為一種科學編程語言正在日益普及,並且在其生態系統中免費提供許多最先進的圖像處理工具供大家使用。
讓我們看一下可以用於圖像處理任務中的常用 Python 庫有哪些吧。
1.scikit-image
scikit-image是一個開源的Python包,適用於numpy數組。它實現了用於研究,教育和工業應用的演算法和實用工具。即使是那些剛接觸Python生態系統的人,它也是一個相當簡單直接的庫。此代碼是由活躍的志願者社區編寫的,具有高質量和同行評審的性質。
資源
文檔里記錄了豐富的例子和實際用例,閱讀下面的文檔:
http://scikit-image.org/docs/stable/user_guide.html
用法
該包作為skimage導入,大多數功能都在子模塊中找的到。下面列舉一些skimage的例子:
圖像過濾
使用match_template函數進行模板匹配
你可以通過此處查看圖庫找到更多示例。
2. Numpy
Numpy是Python編程的核心庫之一,並為數組提供支持。圖像本質上是包含數據點像素的標准Numpy數組。因此,我們可以通過使用基本的NumPy操作,例如切片、掩膜和花式索引,來修改圖像的像素值。可以使用skimage載入圖像並使用matplotlib顯示圖像。
資源
Numpy的官方文檔頁面提供了完整的資源和文檔列表:
http://www.numpy.org/
用法
使用Numpy來掩膜圖像.
3.Scipy
scipy是Python的另一個類似Numpy的核心科學模塊,可用於基本的圖像操作和處理任務。特別是子模塊scipy.ndimage,提供了在n維NumPy數組上操作的函數。該包目前包括線性和非線性濾波,二值形態學,B樣條插值和對象測量等功能函數。
資源
有關scipy.ndimage包提供的完整功能列表,請參閱下面的鏈接:
https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution
用法
使用SciPy通過高斯濾波器進行模糊:
4. PIL/ Pillow
PIL( Python圖像庫 )是Python編程語言的一個免費庫,它支持打開、操作和保存許多不同的文件格式的圖像。然而, 隨著2009年的最後一次發布,它的開發停滯不前。但幸運的是還有有Pillow,一個PIL積極開發的且更容易安裝的分支,它能運行在所有主要的操作系統,並支持Python3。這個庫包含了基本的圖像處理功能,包括點運算、使用一組內置卷積核的濾波和色彩空間的轉換。
資源
文檔中有安裝說明,以及涵蓋庫的每個模塊的示例:
https://pillow.readthedocs.io/en/3.1.x/index.html
用法
在 Pillow 中使用 ImageFilter 增強圖像:
5. OpenCV-Python
OpenCV( 開源計算機視覺庫 )是計算機視覺應用中應用最廣泛的庫之一 。OpenCV-Python 是OpenCV的python版API。OpenCV-Python的優點不只有高效,這源於它的內部組成是用C/C++編寫的,而且它還容易編寫和部署(因為前端是用Python包裝的)。這使得它成為執行計算密集型計算機視覺程序的一個很好的選擇。
資源
OpenCV-Python-Guide指南可以讓你使用OpenCV-Python更容易:
https://github.com/abidrahmank/OpenCV2-Python-Tutorials
用法
下面是一個例子,展示了OpenCV-Python使用金字塔方法創建一個名為「Orapple」的新水果圖像融合的功能。
6. SimpleCV
SimpleCV 也是一個用於構建計算機視覺應用程序的開源框架。有了它,你就可以訪問幾個高性能的計算機視覺庫,如OpenCV,而且不需要先學習了解位深度、文件格式、顏色空間等。
它的學習曲線大大小於OpenCV,正如它們的口號所說「計算機視覺變得簡單」。一些支持SimpleCV的觀點有:
即使是初學者也可以編寫簡單的機器視覺測試攝像機、視頻文件、圖像和視頻流都是可互操作的資源
官方文檔非常容易理解,而且有大量的例子和使用案例去學習:
https://simplecv.readthedocs.io/en/latest/
用法
7. Mahotas
Mahotas 是另一個計算機視覺和圖像處理的Python庫。它包括了傳統的圖像處理功能例如濾波和形態學操作以及更現代的計算機視覺功能用於特徵計算,包括興趣點檢測和局部描述符。該介面是Python語言,適合於快速開發,但是演算法是用C語言實現的,並根據速度進行了調優。Mahotas庫速度快,代碼簡潔,甚至具有最小的依賴性。通過原文閱讀它們的官方論文以獲得更多的了解。
資源
文檔包括安裝指導,例子,以及一些教程,可以更好的幫助你開始使用mahotas。
https://mahotas.readthedocs.io/en/latest/install.html
用法
Mahotas庫依賴於使用簡單的代碼來完成任務。關於『Finding Wally』的問題,Mahotas做的很好並且代碼量很少。下面是源碼:
https://mahotas.readthedocs.io/en/latest/wally.html
8. SimpleITK
ITK 或者 Insight Segmentation and Registration Toolkit是一個開源的跨平台系統,為開發人員提供了一套廣泛的圖像分析軟體工具 。其中, SimpleITK是建立在ITK之上的簡化層,旨在促進其在快速原型設計、教育、解釋語言中的應用。SimpleITK 是一個圖像分析工具包,包含大量支持一般過濾操作、圖像分割和匹配的組件。SimpleITK本身是用C++寫的,但是對於包括Python以內的大部分編程語言都是可用的。
資源
大量的Jupyter Notebooks 表明了SimpleITK在教育和研究領域已經被使用。Notebook展示了用Python和R編程語言使用SimpleITK來進行互動式圖像分析。
http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/
用法
下面的動畫是用SimpleITK和Python創建的剛性CT/MR匹配過程的可視化 。點擊此處可查看源碼!
9. pgmagick
pgmagick是GraphicsMagick庫的一個基於python的包裝。 GraphicsMagick圖像處理系統有時被稱為圖像處理的瑞士軍刀。它提供了一個具有強大且高效的工具和庫集合,支持以88種主要格式(包括重要格式,如DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF)讀取、寫入和操作圖像。
資源
有一個專門用於PgMagick的Github庫 ,其中包含安裝和需求說明。還有關於這個的一個詳細的用戶指導:
https://github.com/hhatto/pgmagick
用法
使用pgmagick可以進行的圖像處理活動很少,比如:
圖像縮放
邊緣提取
10. Pycairo
Pycairo是圖像處理庫cairo的一組Python捆綁。Cairo是一個用於繪制矢量圖形的2D圖形庫。矢量圖形很有趣,因為它們在調整大小或轉換時不會失去清晰度 。Pycairo是cairo的一組綁定,可用於從Python調用cairo命令。
資源
Pycairo的GitHub庫是一個很好的資源,有關於安裝和使用的詳細說明。還有一個入門指南,其中有一個關於Pycairo的簡短教程。
庫:https://github.com/pygobject/pycairo指南:https://pycairo.readthedocs.io/en/latest/tutorial.html用法
使用Pycairo繪制線條、基本形狀和徑向梯度:
總結
有一些有用且免費的Python圖像處理庫可以使用,有的是眾所周知的,有的可能對你來說是新的,試著多去了解它們。
❼ 有哪些好用的Python庫
Python作為一門膠水語言,第三方庫眾多,下面我簡單介紹幾個好用的Python庫:
tensorflow
這是谷歌非常著名的一個開源機器學習框架,在業界非常受歡迎,可以靈活、快速的構建大規模機器學習應用(如神經網路等),性能和可移植性都非常不錯,支持GPU並行計算,如果你對機器學習比較感興趣,也想深入了解一下的話,可以學習一下這個框架,非常不錯:
pandas
如果你對數據分析比較感興趣,那麼pandas就是一個非常不錯的選擇,專門為數據分析而建,內置的函數和方法可以快速處理Excel,CSV等文件,而且提供了實時分析功能,代碼量更少,使用起來也更方便,對於數據處理來說,是一個非常不錯的分析工具:
matplotlib
這是Python的一個數據可視化庫,可以快速製作我們常見的圖表,如柱狀圖、餅狀圖、散點圖等,當然,也不僅僅限於這些,還有很多,如果你想畫出更多美麗的圖表,可以考慮學習一下這個庫,非常值得學習,當然,seaborn,pyecharts等這些可視化庫也非常不錯:
tushare
如果你對金融財經比較感興趣,想快速獲取股票等行情數據,也不想編寫復雜的處理代碼,那麼tushare就是一個非常不錯的選擇,自動整合了國內大部分金融財經數據,完成了數據從採集、清洗和存儲的全過程,只需簡單的幾行代碼就可以實時快速獲取到你所想要的數據,免費且開源:
PyQt
這是Python的一個GUI開發庫,如果你想快速創建一個桌面GUI程序,想直接拖拽控制項布局界面的話,那麼PyQt就是一個非常不錯的選擇,基於Qt的QtDesigner設計工具,你可以直接拖拽Qt大量的控制項快速構建出你自己的桌面應用,簡單而又快捷:
Kivy
如果你想利用Python開發一個安卓應用,那麼kivy就是一個非常不錯的選擇,這是Python的一個開源、跨平台的GUI庫,只需要編寫一套代碼,即可運行在大部分桌面及移動平台上,包括winsows,linux,ios,android等,非常不錯:
scrapy
這是Python的一個爬蟲框架,在也就非常受歡迎,如果你想快速的定製自己的爬蟲程序,又不想重復的造輪子的話,可以學習一下這個庫,只需要添加少量的代碼,就可啟動屬於自己的一個爬蟲應用,非常方便:
django
這是一個流行的PythonWeb框架,如果你想快速構建一個自己的web應用,那麼這個框架就非常值得學習,成熟穩重,基於MVC模式,使用起來非常方便,當然,也有輕量級的web框架,如flask,tornado等,也都非常不錯:
pygame
如果你想快速開發一個小型游戲,又不想低級語言的束縛,可以考慮學習一下這個庫,非常簡單,只需要少量的代碼便可構建一個游戲應用,當然,它也是一個非常不錯的GUI庫,對於桌面開發來說,也是一個不錯的選擇:
you-get
這是Python的一個視頻、音頻下載庫,如果你想免費快速下載優派卜酷、B站、騰訊等網站的視頻,安裝這個庫後,只塵豎穗需要簡單的一行命令就可直接下載,非常方便,纖嘩而且還可以在線觀看,查看視頻文件格式及清晰度等,當然,圖片也可直接下載:
就介紹這10個不錯的Python庫吧,對於日常學習開發來說,非常不錯,當然,還有許多其他好用的Python庫,這個可以到網上搜索一下,非常多,也歡迎大家留言補充。
❽ Python之神奇的繪圖庫matplotlib
matplotlib是Python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合互動式地進行制圖。本文將以例子的形式分析matplot中支持的,分析中常用的幾種圖。其中包括填充圖、散點圖(scatter plots)、. 條形圖(bar plots)、等高線圖(contour plots)、 點陣圖和3D圖,下面來一起看看詳細的介紹:
一、填充圖
參考代碼
簡要分析
這里主要是用到了fill_between函數。這個函數很好理解,就是傳入x軸的數組和需要填充的兩個y軸數組;然後傳入填充的范圍,用where=來確定填充的區域;最後可以加上填充顏色啦,透明度之類修飾的參數。
相關推薦:《Python教程》
效果圖
二、散點圖(scatter plots)
參考代碼
簡要分析
1.首先介紹一下numpy 的normal函數,很明顯,這是生成正態分布的函數。這個函數接受三個參數,分別表示正態分布的平均值,標准差,還有就是生成數組的長度。很好記。
2.然後是arctan2函數,這個函數接受兩個參數,分別表示y數組和x數組,然後返回對應的arctan(y/x)的值,結果是弧度制。
3.接下來用到了繪制散點圖的scatter方法,首先當然是傳入x和y數組,接著s參數表示scale,即散點的大小;c參數表示color,我給他傳的是根據角度劃分的一個數組,對應的就是每一個點的顏色(雖然不知道是怎麼對應的,不過好像是一個根據數組內其他元素進行的相對的轉換,這里不重要了,反正相同的顏色賦一樣的值就好了);最後是alpha參數,表示點的透明度。scatter函數的高級用法可以參見官方文檔scatter函數或者help文檔,最後設置下坐標范圍就好了。
效果圖
三、等高線圖(contour plots)
參考代碼
簡要分析
1.首先要明確等高線圖是一個三維立體圖,所以我們要建立一個二元函數f,值由兩個參數控制,(注意,這兩個參數都應該是矩陣)。
2.然後我們需要用numpy的meshgrid函數生成一個三維網格,即,x軸由第一個參數指定,y軸由第二個參數指定。並返回兩個增維後的矩陣,今後就用這兩個矩陣來生成圖像。
3.接著就用到coutourf函數了,所謂contourf,大概就是contour fill的意思吧,只填充,不描邊;這個函數主要是接受三個參數,分別是之前生成的x、y矩陣和函數值;接著是一個整數,大概就是表示等高線的密度了,有默認值;然後就是透明度和配色問題了,cmap的配色方案這里不多研究。
4.隨後就是contour函數了,很明顯,這個函數是用來描線的。用法可以類似的推出來,不解釋了,需要注意的是他返回一個對象,這個對象一般要保留下來個供後續的加工細化。
5.最後就是用clabel函數來在等高線圖上表示高度了,傳入之前的那個contour對象;然後是inline屬性,這個表示是否清除數字下面的那條線,為了美觀當然是清除了,而且默認的也是1;再就是指定線的寬度了。
效果圖