欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

最強(qiáng)Python可視化繪圖庫Plotly詳解用法

 更新時間:2021年11月03日 16:31:46   作者:Python學(xué)習(xí)與數(shù)據(jù)挖掘  
數(shù)據(jù)分析離不開數(shù)據(jù)可視化。Plotly 是一款用來做數(shù)據(jù)分析和可視化的在線平臺,功能非常強(qiáng)大,可以在線繪制很多圖形比如條形圖、散點(diǎn)圖、餅圖、直方圖等等

今天給大家分享一篇可視化干貨,介紹的是功能強(qiáng)大的開源 Python 繪圖庫 Plotly,教你如何用超簡單的(甚至只要一行)代碼,繪制出更棒的圖表。

我之前一直使用 matplotlib ,由于它復(fù)雜的語法,我已經(jīng)“沉沒"在里面太多的時間成本。這也導(dǎo)致我花費(fèi)了不知多少個深夜,在 StackOverflow 上搜索如何“格式化日期”或“增加第二個Y軸”。

但我們現(xiàn)在有一個更好的選擇了 ,比如易于使用、文檔健全、功能強(qiáng)大的開源 Python 繪圖庫 Plotly。今天就帶你深入體驗(yàn)下,了解它如何用超簡單的代碼,繪制出更棒的圖表。歡迎收藏學(xué)習(xí),喜歡點(diǎn)贊支持。文末提供技術(shù)交流群,歡迎參與交流學(xué)習(xí)。

本文中所有代碼都已經(jīng)在 Github 上開源,所有的圖表都是可交互的,請使用Jupyter notebook查看 。

Github地址:https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly%20Whirlwind%20Introduction.ipynb

圖片

Plotly 概述

plotly 的 Python 軟件包是一個開源的代碼庫,它基于 plot.js,而后者基于 d3.js。我們實(shí)際使用的則是一個對 plotly 進(jìn)行封裝的庫,名叫 cufflinks,它能讓你更方便地使用 plotly 和 Pandas 數(shù)據(jù)表協(xié)同工作。

_*注:__Plotly 本身是一個擁有多個不同產(chǎn)品和開源工具集的可視化技術(shù)公司。_Plotly 的 Python 庫是可以免費(fèi)使用的,在離線模式可以創(chuàng)建數(shù)量不限的圖表,在線模式因?yàn)橛玫搅?Plotly 的共享服務(wù),只能生成并分享 25 張圖表。

本文中的所有可視化圖表都是在 Jupyter Notebook 中使用離線模式的 plotly + cufflinks 庫完成的。在使用 pip install cufflinks plotly 完成安裝后,你可以用下面這樣的代碼在 Jupyter 里完成導(dǎo)入:

圖片

單變量分布:柱狀圖和箱形圖

單變量分析圖往往是開始數(shù)據(jù)分析時的標(biāo)準(zhǔn)做法,而柱狀圖基本上算是單變量分布分析時必備的圖表之一(雖然它還有一些不足)。

就拿博客文章點(diǎn)贊總數(shù)為例(原始數(shù)據(jù)見 Github:https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium ),做一個簡單的交互式柱狀圖:

圖片

(代碼中的 df 是標(biāo)準(zhǔn)的 Pandas dataframe 對象)

圖片

(使用 plotly+cufflinks 創(chuàng)建的交互式柱狀圖)

對于已經(jīng)習(xí)慣 matplotlib 的同學(xué),你們只需要多打一個字母(把 .plot 改成 .iplot ),就能獲得看起來更加美觀的交互式圖表!點(diǎn)擊圖片上的元素就能顯示出詳細(xì)信息、隨意縮放,還帶有(我們接下來會提到的)高亮篩選某些部分等超棒功能。

如果你想繪制堆疊柱狀圖,也只需要這樣:

圖片

圖片

對 pandas 數(shù)據(jù)表進(jìn)行簡單的處理,并生成條形圖:

圖片

圖片

就像上面展示的那樣,我們可以將 plotly + cufflinks 和 pandas 的能力整合在一起。比如,我們可以先用 .pivot() 進(jìn)行數(shù)據(jù)透視表分析,然后再生成條形圖。

比如統(tǒng)計不同發(fā)表渠道中,每篇文章帶來的新增粉絲數(shù):

圖片

圖片

交互式圖表帶來的好處是,我們可以隨意探索數(shù)據(jù)、拆分子項(xiàng)進(jìn)行分析。箱型圖能提供大量的信息,但如果你看不到具體數(shù)值,你很可能會錯過其中的一大部分!

散點(diǎn)圖

散點(diǎn)圖是大多數(shù)分析的核心內(nèi)容,它能讓我們看出一個變量隨著時間推移的變化情況,或是兩個(或多個)變量之間的關(guān)系變化情況。

時間序列分析

在現(xiàn)實(shí)世界中,相當(dāng)部分的數(shù)據(jù)都帶有時間元素。幸運(yùn)的是,plotly + cufflinks 天生就帶有支持時間序列可視化分析的功能。

以我在“Towards Data Science”網(wǎng)站上發(fā)表的文章數(shù)據(jù)為例,讓我們以發(fā)布時間為索引構(gòu)建一個數(shù)據(jù)集,看看文章熱度的變化情況:

圖片

圖片

在上圖中,我們用一行代碼完成了幾件事情:

  • 自動生成美觀的時間序列 X 軸
  • 增加第二條 Y 軸,因?yàn)閮蓚€變量的范圍并不一致
  • 把文章標(biāo)題放在鼠標(biāo)懸停時顯示的標(biāo)簽中

為了顯示更多數(shù)據(jù),我們可以方便地添加文本注釋:

圖片

圖片

(帶有文本注釋的散點(diǎn)圖)

下面的代碼中,我們將一個雙變量散點(diǎn)圖按第三個分類變量進(jìn)行著色:

圖片

圖片

接下來我們要玩點(diǎn)復(fù)雜的:對數(shù)坐標(biāo)軸。我們通過指定 plotly 的布局(layout)參數(shù)來實(shí)現(xiàn)這一點(diǎn)(關(guān)于不同的布局,請參考官方文檔 https://plot.ly/python/reference/ ),同時我們把點(diǎn)的尺寸(size參數(shù))和一個數(shù)值變量 read_ratio (閱讀比例)綁定,數(shù)字越大,泡泡的尺寸也越大。

圖片

圖片


如果想要更復(fù)雜一些(詳見 Github 的源代碼),我們甚至可以在一張圖里塞進(jìn) 4 個變量?。ㄈ欢⒉煌扑]你們真的這么搞)

圖片

和前面一樣,我們可以將 pandas 和 plotly+cufflinks 結(jié)合起來,實(shí)現(xiàn)許多有用的圖表:

圖片

圖片

建議你查看官方文檔,或者源代碼,里面有更多的范例和函數(shù)實(shí)例。只需要簡單的一兩行代碼,就可以為你的圖表加上文字注釋,輔助線,最佳擬合線等有用的元素,并且保持原有的各種交互式功能。

高級繪圖功能

接下來,我們要詳細(xì)介紹幾種特殊的圖表,平時你可能并不會很經(jīng)常用到它們,但我保證只要你用好了它們,一定能讓人刮目相看。我們要用到 plotly 的 figure_factory 模塊,只需要一行代碼,就能生成超棒的圖表!

散點(diǎn)圖矩陣

假如我們要探索許多不同變量之間的關(guān)系,散點(diǎn)圖矩陣(也被稱為SPLOM)就是個很棒的選擇:

圖片

圖片

即使是這樣復(fù)雜的圖形,也是完全可交互的,讓我們能更詳盡地對數(shù)據(jù)進(jìn)行探索。

關(guān)系熱圖

為了體現(xiàn)多個數(shù)值變量間的關(guān)系,我們可以計算它們的相關(guān)性,然后用帶標(biāo)注熱度圖的形式進(jìn)行可視化:

圖片

圖片

自定義主題

除了層出不窮的各種圖表外,Cufflinks 還提供了許多不同的著色主題,方便你輕松切換各種不同的圖表風(fēng)格。下面兩張圖分別是“太空”主題和“ggplot”主題:

圖片

圖片

此外,還有 3D 圖表(曲面和泡泡):

圖片

圖片

對有興趣研究的用戶來說,做張餅圖也不是什么難事:

圖片

在 Plotly 圖表工坊(Plotly Chart Studio)里編輯

當(dāng)你在 Jupyter Notebook 里生成了這些圖表之后,你將會發(fā)現(xiàn)圖表的右下角出現(xiàn)了一個小小的鏈接,寫著“Export to plot.ly(發(fā)布到 plot.ly)”。如果你點(diǎn)擊這個鏈接,你將會跳轉(zhuǎn)到一個“圖表工坊”(https://plot.ly/create/)。

在這里,你可以在最終展示之前進(jìn)一步修改和潤色你的圖表??梢蕴砑訕?biāo)注,選擇某些元素的顏色,把一切都整理清楚,生成一個超棒的圖表。之后,你還可以將它發(fā)布到網(wǎng)絡(luò)上,生成一個供其他人查閱的鏈接。

下面兩張圖是在圖表工坊里制作的:

圖片

圖片

講了這么多,看都看累了吧?然而我們還并沒有窮盡這個庫的所有功能。限于篇幅,有些更棒的圖表和范例,只好請大家訪問 plotly 和 cufflinks 的官方文檔去一一查看咯。

圖片

最后 ……

從現(xiàn)在看來,要用 Python 語言實(shí)現(xiàn)以上功能的最佳選擇非 plotly 莫屬。它讓我們快速生成可視化圖表,交互功能使我們更好地理解信息。

我承認(rèn),繪圖絕對是數(shù)據(jù)科學(xué)工作中最讓人享受的部分,而 plotly 能讓你更加愉悅地完成這些任務(wù)。

圖片

2021 年是時候升級你的 Python 繪圖庫了,讓自己在數(shù)據(jù)科學(xué)和可視化方面變得更快、更強(qiáng)、更美吧!

技術(shù)交流

歡迎轉(zhuǎn)載、收藏、有所收獲點(diǎn)贊支持一下!

在這里插入圖片描述

到此這篇關(guān)于最強(qiáng)Python可視化繪圖庫Plotly詳解用法的文章就介紹到這了,更多相關(guān)Python Plotly內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ython字符串處理實(shí)用技巧分享

    ython字符串處理實(shí)用技巧分享

    在日常編程中,字符串處理是一個非常常見的任務(wù),因此掌握一些實(shí)用的技巧能夠提高代碼的效率和可讀性,本文將總結(jié)一些 Python 字符串處理的實(shí)用技巧,并通過代碼實(shí)例進(jìn)行演示,需要的朋友可以參考下
    2024-05-05
  • Python堆排序原理與實(shí)現(xiàn)方法詳解

    Python堆排序原理與實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Python堆排序原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Python堆排序的概念、原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • python如何求2-1000內(nèi)的所有回文素數(shù)

    python如何求2-1000內(nèi)的所有回文素數(shù)

    這篇文章主要介紹了python如何求2-1000內(nèi)的所有回文素數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python實(shí)現(xiàn)投影法分割圖像示例(二)

    Python實(shí)現(xiàn)投影法分割圖像示例(二)

    今天小編就為大家分享一篇Python實(shí)現(xiàn)投影法分割圖像示例(二),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python Selenium破解滑塊驗(yàn)證碼最新版(GEETEST95%以上通過率)

    Python Selenium破解滑塊驗(yàn)證碼最新版(GEETEST95%以上通過率)

    這篇文章主要介紹了Python Selenium破解滑塊驗(yàn)證碼最新版(GEETEST95%以上通過率),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Matplotlib繪圖基礎(chǔ)之3D圖形繪制詳解

    Matplotlib繪圖基礎(chǔ)之3D圖形繪制詳解

    matplotlib 在1.0版本之前其實(shí)是不支持3D圖形繪制的,后來的版本中,matplotlib加入了3D圖形的支持,擴(kuò)展了其展示數(shù)據(jù)分布和關(guān)系的能力,下面就和大家介紹一下matplotlib中繪制各類3D圖形的方法
    2023-08-08
  • python中列表的切片與修改知識點(diǎn)總結(jié)

    python中列表的切片與修改知識點(diǎn)總結(jié)

    在本篇文章里小編給大家分享了關(guān)于python中列表的切片與修改的相關(guān)知識點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-07-07
  • python flask自定義404錯誤頁面方式

    python flask自定義404錯誤頁面方式

    這篇文章主要介紹了python flask自定義404錯誤頁面方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python中的urllib模塊使用詳解

    Python中的urllib模塊使用詳解

    這篇文章主要介紹了Python中的urllib模塊使用詳解,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-07-07
  • Python實(shí)戰(zhàn)之異步獲取中國天氣信息

    Python實(shí)戰(zhàn)之異步獲取中國天氣信息

    這篇文章主要介紹了如何利用Python爬蟲異步獲取天氣信息,用的API是中國天氣網(wǎng)。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手試一試
    2022-03-03

最新評論