當前位置:首頁 » 編程語言 » python繪圖工具

python繪圖工具

發布時間: 2025-08-12 10:12:16

① Python 中的可視化工具介紹

幾周前,R語言社區經歷了一場關於畫圖工具的討論。對於我們這種外人來說,具體的細節並不重要,但是我們可以將一些有用的觀點運用到 Python 中。討論的重點是 R 語言自帶的繪圖工具 base R 和 Hadley Wickham 開發的繪圖工具 ggplot2 之間的優劣情況。如果你想了解更多細節內容,請閱讀以下幾篇文章:

其中最重要的兩個內容是:

不是所有人都認同第二個觀點,ggplot2確實無法繪制出所有的圖表類型,但是我會利用它來做分析。

以下是 2016 年 4 月寫的關於繪圖工具的概述。出於多方面的原因,繪圖工具的選取更多地取決於個人偏好,因此本文介紹的 Python 繪圖工具也僅代表我的個人使用偏好。

Matplotlib 是一個強大的工具,它是 Pandas' builtin-plotting Seaborn 的基礎。 Matplotlib 能夠繪制許多不同的圖形,還能調用多個級別的許多 API 。我發現 pyplot api 非常好用,你可能用不上 Transforms 或者 artists ,但是如果你有需求的話可以查閱幫助文檔。我將從 pandas seaborn 圖開始介紹,然後介紹如何調用 pyplot API

DataFrame Series 擁有 .plot 的命名空間,其中有許多圖形類別可供選擇(line, hist, scatter, 等等)。 Pandas 對象還提供了額外的用於增強圖形展現效果的數據,如索引變數。
由於 pandas 具有更少的向後兼容的限制,所以它具有更好的美學特性。從這方面來說,我認為 pandas 中的 DataFrame.plot 是一個非常實用的快速探索性分析的工具。

Michael Waskom 所開發的 Seaborn 提供了一個高層次的界面來繪制更吸引人統計圖形。 Seaborn 提供了一個可以快速探索分析數據不同特徵的 API 介面,接下來我們將重點介紹它。

Bokeh 是一款針對瀏覽器開發的可視化工具。
matplotlib 一樣,**Bokeh
** 擁有一系列 API 介面。比如 glpyhs 介面,該介面和 matplotllib 中的 Artists 介面非常相似,它主要用於繪制環形圖、方形圖和多邊形圖等。最近 Bokeh 又開放了一個新的圖形介面,該介面主要用於處理詞典數據或 DataFrame 數據,並用於繪制罐頭圖。

以下是一些本文沒有提到的可視化工具:

我們將利用 ggplot2 中的 diamonds 數據集,你可以在 Vincent Arelbundock's RDatasets 中找到它(pd.read_csv(' http://vincentarelbundock.github.io/Rdatasets/csv/ggplot2/diamonds.csv') ),此外我們還需要檢測是否已經安裝 feather

[站外圖片上傳中……(4)]

Bokeh 提供了兩個 API,一個是低級的 glyph API,另一個是高級的 Charts API。

[站外圖片上傳中……(5)]

還不是很清楚我們應該在啥時候利用 Bokeh 來進行探索性分析,不過它的互動式功能可以激發我的興趣。就個人而言,由於習慣問題我平時仍然一直使用 matplotlib 來繪圖,我還無法完全切換到 Bokeh 中。

我非常喜歡 Bokeh 的儀表盤功能和 bokeh server 的 webapps。

[站外圖片上傳中……(6)]

[站外圖片上傳中……(7)]

[站外圖片上傳中……(8)]

matplotlib 並不局限於處理 DataFrame 數據,它支持所有使用 getitem 作為鍵值的數據類型。

[站外圖片上傳中……(9)]

[站外圖片上傳中……(10)]

我們從列變數的名字中提取出軸標簽,利用 Pandas 可以更加便捷地繪制一系列共享 x 軸數據的圖形。

[站外圖片上傳中……(11)]

[站外圖片上傳中……(12)]

本文中的剩餘部分將重點介紹 seaborn和為什麼我認為它是探索性分析的強大工具。

我強烈建議你閱讀 Seaborn 的 introctory notes,這上面介紹了 seaborn 的設計邏輯和應用領域。

我們可以通過一個穩定的且易懂的 API 介面來調用 Seaborn。

事實上,seaborn 是基於 matplotlib 開發的,這意味著如果你熟悉 pyplot API的話,那麼你可以很容易地掌握 seaborn。

大多數 seaborn 繪圖函數的參數都由 x, y, hue, 和 data 構成(並不是所有的參數都是必須的)。如果你處理的對象是 DataFrame,那麼你可以直接將列變數的名稱和數據集的名稱一同傳遞到繪圖函數中。

[站外圖片上傳中……(13)]

[站外圖片上傳中……(14)]

[站外圖片上傳中……(15)]

[站外圖片上傳中……(16)]

我們可以很輕易地探究兩個變數之間的關系:

[站外圖片上傳中……(17)]

[站外圖片上傳中……(18)]

或者一次探究多個變數之間的關系:

[站外圖片上傳中……(19)]

[站外圖片上傳中……(20)]

pariplot 是 PairGrid 的一個包裝函數,它提供了 seaborn 一個重要的抽象功能——Grid。Seaborn 的 Grid 將 matplotlib 中Figure 和數據集中的變數聯系起來了。

我們有兩種方式可以和 grids 進行交互操作。其一,seaborn 提供了類似於 pairplot 的包裝函數,它提前設置了許多常見任務的參數;其二,如果你需要更多的自定義選項,那麼你可以直接利用 Grid 方法。

[站外圖片上傳中……(21)]
[站外圖片上傳中……(22)]

[站外圖片上傳中……(23)]
34312 rows × 7 columns

[站外圖片上傳中……(24)]
[站外圖片上傳中……(25)]

FaceGrid 可以通過控制分面變數來生成 Grid圖形,其中PairGrid是它的一個特例。接下來的案例中,我們將以數據集中的 cut 變數為分面變數來繪制圖像:
[站外圖片上傳中……(26)]

[站外圖片上傳中……(27)]
最後一個案例展示了如何將 seaborn 和 matplotlib 結合起來。g.axes是matplotlib.Axes的一個數組,g.fig是matplotlib.Figure的一個特例。這是使用 seaborn 時常見的一個模式:利用 seaborn 的方法來繪制圖像,然後再利用 matplotlib 來調整細節部分。

我認為 seaborn 之所以吸引人是因為它的繪圖語法具有很強的靈活性。你不會被作者所設定的圖表類型所局限住,你可以根據自己的需要創建新的圖表。
[站外圖片上傳中……(28)]

[站外圖片上傳中……(29)]

[站外圖片上傳中……(30)]

[站外圖片上傳中……(31)]

本來,我打算準備更多的例子來介紹 seaborn,但是我會將相關鏈接分享給大家。Seaborn 的說明文檔寫的非常詳細。

最後,我們將結合 scikit-learn 來介紹如何利用 GridSearch 來尋找最佳參數。
[站外圖片上傳中……(32)]

[站外圖片上傳中……(33)]

[站外圖片上傳中……(34)]

原文鏈接: http://tomaugspurger.github.io/modern-6-visualization.html

譯者:Fibears

② screen=turtle.screen()什麼意思

`screen = turtle.screen()` 是使用 Python 中 Turtle 圖形庫創建一個畫布對象(也稱為「屏幕」或「窗口」),並將其賦值給變數 `screen`。Turtle 圖形庫是一個簡單易學的繪圖工具,它能幫助我們畫出美麗的圖形。

該函數實際上是創建了一個 Turtle Graphics 的 **Screen 對象**,通過這個對象可以控制窗口大小、背景色等屬性。在這個窗口中,我們可以調用各種 Turtle Graphics 庫提供的函數來創建一些基本幾何圖形,例如線條、圓形、多邊形,甚至更復雜的圖案和動畫等。

需要注意的是,該函數必須在程序中首先調用,並且在所有其他 Turtle Graphics 函數調用之前。

③ Python常用的作圖軟體工具有哪些

Python有許多可用於繪圖的工具,包括Matplotlib、Seaborn、Bokeh和Plotly。其中,Matplotlib是最常用的工具,它可以用於創建各種類型的靜態圖表。Seaborn和Bokeh提供了更高級的繪圖功能,可以用於創建更復雜和動態的圖表。Plotly可以用於創建互動式圖表,並且可以在網頁上嵌入到網站中。

熱點內容
抖音腳本示範 發布:2025-08-12 14:17:21 瀏覽:198
達龍雲電腦做伺服器 發布:2025-08-12 14:14:32 瀏覽:456
如何切換郵箱密碼 發布:2025-08-12 14:09:55 瀏覽:859
qq什麼都沒有該怎麼找回密碼 發布:2025-08-12 14:08:28 瀏覽:628
自動編程的步驟 發布:2025-08-12 14:07:30 瀏覽:991
老百姓買車哪些配置是必須考慮的 發布:2025-08-12 13:26:27 瀏覽:296
觸控精靈腳本編寫教程 發布:2025-08-12 13:22:14 瀏覽:787
51單片機編程實例 發布:2025-08-12 13:22:13 瀏覽:726
星悅l選哪個配置 發布:2025-08-12 13:21:24 瀏覽:907
安卓系統怎麼看電子書 發布:2025-08-12 13:14:50 瀏覽:744