精美的資料分析圖! 教你使用 Python 的 Plotly 庫

pythondict發表於2020-05-07

原文來自Python實用寶典精美的資料分析圖!教你使用Python的Plotly庫

plotly 是目前已知的Python最強繪圖,它比上次我們講的echarts還強大許多許多,它的繪製通過生成一個web頁面得到,而且支援調整影像大小後儲存,而且還能支援可動態調節的頁面,方便python web端的開發。

一、安裝

開始之前,你要確保Python和pip已經成功安裝在電腦上噢,如果沒有,請訪問這篇文章:超詳細Python安裝指南 進行安裝。

Windows環境下開啟Cmd(開始—執行—CMD),蘋果系統環境下請開啟Terminal(command+空格輸入Terminal),準備開始輸入命令安裝依賴。

當然,我更推薦大家用VSCode編輯器,把本文程式碼Copy下來,在編輯器下方的終端裝依賴模組,多舒服的一件事啊:Python 程式設計的最好搭檔—VSCode 詳細指南

在終端輸入以下命令安裝我們所需要的依賴模組:


pip install plotly

看到 Successfully installed xxx 則說明安裝成功。

二、使用例子

你只需要知道某些圖的生成函式及其傳入引數,就可以生成很漂亮的統計圖。比如生成文章開頭的那個官方平行類別圖,你只要需要知道它的生成函式是 px.parallel_categories。支援的引數列表如下:

data_frame:資料,需要以DataFrame格式。

color: 可指定每一列的特定顏色。

color_continuous_scale: 構建連續的顏色

詳細引數可閱讀官方文件:

plotly.github.io/plotly.py-docs/ge...

在這裡,我們使用官方生成好的資料作為展示的例子,編寫以下程式碼即可:


# 檔案命名為:test.py

import plotly.express as px

tips = px.data.tips()

fig = px.parallel_categories(tips, color="size", color_continuous_scale=px.colors.sequential.Inferno)

fig.show()

æ­¤å¾åçaltå±æ§ä¸ºç©ºï¼æ件å为2019082614181277.png

在cmd/Terminal或者vscode的終端裡,執行這份程式碼:


python test.py

你會看到瀏覽器自動生成了一個頁面,頁面上就是這幅圖,而且是可以進行互動的圖

除此之外還有這樣的圖:

第二個例子


import plotly.express as px

gapminder = px.data.gapminder()

fig = px.scatter(gapminder.query("year==2007"), x="gdpPercap", y="lifeExp", size="pop", color="continent",

           hover_name="country", log_x=True, size_max=60)

fig.show()

程式碼其實非常簡單,你只需要符合它的資料格式就可以生成了,真的是坐著收圖啊,還有以下這些例子,這些例子都是可以在頁面上進行互動的(放大縮小等),相當方便!

三、儲存

其實在執行完程式後生成的頁面裡,右上角有個小攝像頭,點選那個攝像頭可以直接生成頁面:

但是你可能會希望直接在程式中將圖片儲存下載,方便批量生成圖片,這個時候我們需要新增這樣的一個離線plot語句:


import plotly.offline as offline 

offline.plot(figure_or_data = fig, image = 'png', image_filename='plot_image', output_type='file', image_width=800, image_height=600, validate=False) 

在得到了影像的fig變數後,你只需要繼續編寫上述語句就可以儲存下來,比如我們的第一個例子,將會是這樣儲存的。


# 檔案命名為:test.py

import plotly.express as px

import plotly.offline as offline

tips = px.data.tips()

fig = px.parallel_categories(tips, color="size", color_continuous_scale=px.colors.sequential.Inferno)

fig.show()

offline.plot(figure_or_data = fig, image = 'png', image_filename='plot_image',

             output_type='file', image_width=800, image_height=600, validate=False)

四、其他功能

  1. 共享:如果你希望能和其他人共享圖片,而自己又不會做web開發,沒關係,plotly也提供瞭解決方案,這個時候我們需要安裝一個新的包叫chart_studio,然後使用官方給定的API進行線上繪製,就能儲存到你的plotly個人網頁中了! 詳細可見官方教程

  2. 新增背景圖:你還可以給你的圖片新增背景圖!而且操作非常簡單。

  3. 新增你的LOGO:新增你個人獨特的LOGO也是支援的!

    plot.ly/python/images/ 你可以找到這2和3的相應教程!

以上這些,我們在未來都會陸續講到,如果你想要獲得更多的圖形及其編寫方法,可以參考官方文件,也可以繼續關注本公眾號/網站,我們將陸續推出plotly的具體例子的製作方案!!

我們的文章到此就結束啦,如果你希望我們今天的Python 教程,請持續關注我們,如果對你有幫助,麻煩在下面點一個贊/在看哦,有任何問題都可以在下方留言區留言,我們都會耐心解答的!


​Python實用寶典 (pythondict.com)

不只是一個寶典

歡迎關注公眾號:Python實用寶典

本作品採用《CC 協議》,轉載必須註明作者和本文連結

Python實用寶典, pythondict.com

相關文章