我之前一直守著 matplotlib 用的原因,就是為了我學會它複雜的語法,已經「沉沒"在裡面的幾百個小時的時間成本。這也導致我花了不知多少個深夜,在 StackOverflow 上搜尋如何「格式化日期」或「增加第二個Y軸」。
但我們現在有一個更好的選擇了 —— 例如易於使用、文檔健全、功能強大的開源 Python 繪圖庫 Plotly。今天就帶你深入體驗下,了解它如何用超簡單的(甚至只要一行!)程式碼,繪製出更棒的圖表。
本文中所有程式碼都已經在 Github 上開源,所有的圖表都是可互動的,請使用Jupyter notebook檢視 。
(Github 原始碼位址:https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly Whirlwind Introduction.ipynb)
互動式圖表帶來的好處是,我們可以隨意探索資料、分割子項目進行分析。箱型圖能提供大量的信息,但如果你看不到具體數值,你很可能會錯過其中的一大部分!
散佈圖
散佈圖是大多數分析的核心內容,它能讓我們看出一個變數隨著時間推移的變化情況,或是兩個(或多個)變數之間的關係變化情況。
時間序列分析
在現實世界中,相當部分的資料都帶有時間元素。幸運的是,plotly cufflinks 天生就帶有支援時間序列視覺化分析的功能。
以我在「Towards Data Science」網站上發表的文章資料為例,讓我們以發佈時間為索引建立一個資料集,看看文章熱度的變化:
在上圖中,我們用一行程式碼完成了幾件事:
- 自動產生美觀的時間序列X 軸
- 增加第二條Y 軸,因為兩個變數的範圍並不一致
- 把文章標題放在滑鼠懸停時顯示的標籤中
關係熱圖
為了體現多個數值變數間的關係,我們可以計算它們的相關性,然後用標註熱度圖的形式進行視覺化:
自訂主題
除了層出不窮的各種圖表外,Cufflinks 還提供了許多不同的著色主題,方便你輕鬆切換各種不同的圖表風格。下面兩張圖分別是「太空」主題和「ggplot」主題:
#此外,還有3D 圖表(曲面和泡泡):
對有興趣研究的使用者來說,做張餅圖也不是什麼難事:
在Plotly 圖表工坊(Plotly Chart Studio)裡編輯
當你在Jupyter Notebook 裡產生了這些圖表之後,你將會發現圖表的右下角出現了一個小小的鏈接,寫著「Export to plot.ly(發佈到plot.ly)」。如果你點擊這個鏈接,你將會跳到一個「圖表工坊」(https://plot.ly/create/)。
在這裡,你可以在最終展示之前進一步修改和潤飾你的圖表。可以加上標註,選擇某些元素的顏色,把一切都整理清楚,產生一個超棒的圖表。之後,你也可以將它發佈到網路上,產生一個供其他人查閱的連結。
下面兩張圖是在圖表工坊裡製作的:
#講了這麼多,看都看累了吧?然而我們還沒有窮盡這個函式庫的所有功能。限於篇幅,有些更棒的圖表和範例,只好請大家訪問 plotly 和 cufflinks 的官方文件去一一查看咯。
(Plotly 互動式地圖,顯示了美國國內的風力發電場資料。來源:plot.ly)
最後…
關於沉沒成本謬誤,最糟糕的一點在於,人們往往只能在放棄先前的努力時,才能意識到自己浪費了多少時間。
在選擇一個繪圖庫的時候,你最需要的幾個功能有:
快速探索資料所需的一行程式碼圖表
- 拆分/研究資料所需的互動元素
- 當需要時可以深入細節資訊的選項
- 最終展示前能輕易進行客製化
以上是功能強大的開源 Python 繪圖庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版
中文版,非常好用