色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

功能強(qiáng)大的開源Python繪圖庫(kù)

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析1480 ? 作者:數(shù)據(jù)分析1480 ? 2022-11-17 15:05 ? 次閱讀

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

我之前一直守著 matplotlib 用的原因,就是為了我學(xué)會(huì)它復(fù)雜的語法,已經(jīng)“沉沒"在里面的幾百個(gè)小時(shí)的時(shí)間成本。這也導(dǎo)致我花費(fèi)了不知多少個(gè)深夜,在 StackOverflow 上搜索如何“格式化日期”或“增加第二個(gè)Y軸”。

但我們現(xiàn)在有一個(gè)更好的選擇了 —— 比如易于使用、文檔健全、功能強(qiáng)大的開源 Python 繪圖庫(kù)Plotly。今天就帶你深入體驗(yàn)下,了解它如何用超簡(jiǎn)單的(甚至只要一行!)代碼,繪制出更棒的圖表。

本文中所有代碼都已經(jīng)在 Github 上開源,所有的圖表都是可交互的,請(qǐng)使用Jupyter notebook查看 。 (Github 源代碼地址:https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly%20Whirlwind%20Introduction.ipynb)

e4e1a25e-662e-11ed-8abf-dac502259ad0.png

(plotly 繪制的范例圖表。圖片來源:plot.ly)

Plotly 概述

plotly 的 Python 軟件包是一個(gè)開源的代碼庫(kù),它基于 plot.js,而后者基于 d3.js。我們實(shí)際使用的則是一個(gè)對(duì) plotly 進(jìn)行封裝的庫(kù),名叫 cufflinks,它能讓你更方便地使用 plotly 和 Pandas 數(shù)據(jù)表協(xié)同工作。 *注:Plotly 本身是一個(gè)擁有多個(gè)不同產(chǎn)品和開源工具集的可視化技術(shù)公司。Plotly 的 Python 庫(kù)是可以免費(fèi)使用的,在離線模式可以創(chuàng)建數(shù)量不限的圖表,在線模式因?yàn)橛玫搅?Plotly 的共享服務(wù),只能生成并分享 25 張圖表。 本文中的所有可視化圖表都是在 Jupyter Notebook 中使用離線模式的 plotly + cufflinks 庫(kù)完成的。在使用pip install cufflinks plotly完成安裝后,你可以用下面這樣的代碼在 Jupyter 里完成導(dǎo)入:

e4f63cd2-662e-11ed-8abf-dac502259ad0.png

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

單變量分析圖往往是開始數(shù)據(jù)分析時(shí)的標(biāo)準(zhǔn)做法,而柱狀圖基本上算是單變量分布分析時(shí)必備的圖表之一(雖然它還有一些不足)。 就拿博客文章點(diǎn)贊總數(shù)為例(原始數(shù)據(jù)見 Github:https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium ),做一個(gè)簡(jiǎn)單的交互式柱狀圖:

e534925c-662e-11ed-8abf-dac502259ad0.png

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

e54b3110-662e-11ed-8abf-dac502259ad0.gif

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

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

ea031e48-662e-11ed-8abf-dac502259ad0.png

ea155ec8-662e-11ed-8abf-dac502259ad0.png

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

ea28c13e-662e-11ed-8abf-dac502259ad0.png

ea3990e0-662e-11ed-8abf-dac502259ad0.png

就像上面展示的那樣,我們可以將 plotly + cufflinks 和 pandas 的能力整合在一起。比如,我們可以先用.pivot()進(jìn)行數(shù)據(jù)透視表分析,然后再生成條形圖。 比如統(tǒng)計(jì)不同發(fā)表渠道中,每篇文章帶來的新增粉絲數(shù):

ea60c516-662e-11ed-8abf-dac502259ad0.png

ea8523ac-662e-11ed-8abf-dac502259ad0.gif

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

散點(diǎn)圖

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

時(shí)間序列分析

在現(xiàn)實(shí)世界中,相當(dāng)部分的數(shù)據(jù)都帶有時(shí)間元素。幸運(yùn)的是,plotly + cufflinks 天生就帶有支持時(shí)間序列可視化分析的功能。 以我在“Towards Data Science”網(wǎng)站上發(fā)表的文章數(shù)據(jù)為例,讓我們以發(fā)布時(shí)間為索引構(gòu)建一個(gè)數(shù)據(jù)集,看看文章熱度的變化情況:

eabe9a74-662e-11ed-8abf-dac502259ad0.png

eacd407e-662e-11ed-8abf-dac502259ad0.gif

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

自動(dòng)生成美觀的時(shí)間序列 X 軸

增加第二條 Y 軸,因?yàn)閮蓚€(gè)變量的范圍并不一致

把文章標(biāo)題放在鼠標(biāo)懸停時(shí)顯示的標(biāo)簽

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

ef3a8c84-662e-11ed-8abf-dac502259ad0.png

ef4aad58-662e-11ed-8abf-dac502259ad0.png

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

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

efb47fbc-662e-11ed-8abf-dac502259ad0.png

efc71e1a-662e-11ed-8abf-dac502259ad0.png

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

efe96f9c-662e-11ed-8abf-dac502259ad0.png

f00e17e8-662e-11ed-8abf-dac502259ad0.png

如果想要更復(fù)雜一些(詳見 Github 的源代碼),我們甚至可以在一張圖里塞進(jìn) 4 個(gè)變量!(然而并不推薦你們真的這么搞)

f026f560-662e-11ed-8abf-dac502259ad0.png

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

f039c294-662e-11ed-8abf-dac502259ad0.png

f056fd46-662e-11ed-8abf-dac502259ad0.png

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

高級(jí)繪圖功能

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

散點(diǎn)圖矩陣

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

f06e8b0a-662e-11ed-8abf-dac502259ad0.png

f07dfd42-662e-11ed-8abf-dac502259ad0.jpg

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

關(guān)系熱圖

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

f0a35524-662e-11ed-8abf-dac502259ad0.png

f0c172de-662e-11ed-8abf-dac502259ad0.jpg

自定義主題

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

f0f49e48-662e-11ed-8abf-dac502259ad0.png

f105a40e-662e-11ed-8abf-dac502259ad0.png

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

f12e479c-662e-11ed-8abf-dac502259ad0.png

f15b53d6-662e-11ed-8abf-dac502259ad0.png

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

f1dd609c-662e-11ed-8abf-dac502259ad0.png

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

當(dāng)你在 Jupyter Notebook 里生成了這些圖表之后,你將會(huì)發(fā)現(xiàn)圖表的右下角出現(xiàn)了一個(gè)小小的鏈接,寫著“Export to plot.ly(發(fā)布到 plot.ly)”。如果你點(diǎn)擊這個(gè)鏈接,你將會(huì)跳轉(zhuǎn)到一個(gè)“圖表工坊”(https://plot.ly/create/)。 在這里,你可以在最終展示之前進(jìn)一步修改和潤(rùn)色你的圖表。可以添加標(biāo)注,選擇某些元素的顏色,把一切都整理清楚,生成一個(gè)超棒的圖表。之后,你還可以將它發(fā)布到網(wǎng)絡(luò)上,生成一個(gè)供其他人查閱的鏈接。 下面兩張圖是在圖表工坊里制作的:

f1fc216c-662e-11ed-8abf-dac502259ad0.png

f225fe38-662e-11ed-8abf-dac502259ad0.png

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

f24cd9a4-662e-11ed-8abf-dac502259ad0.jpg

(Plotly 交互式地圖,顯示了美國(guó)國(guó)內(nèi)的風(fēng)力發(fā)電場(chǎng)數(shù)據(jù)。來源:plot.ly)

最后……

關(guān)于沉沒成本謬誤,最糟糕的一點(diǎn)在于,人們往往只能在放棄之前的努力時(shí),才能意識(shí)到自己浪費(fèi)了多少時(shí)間。 在選擇一款繪圖庫(kù)的時(shí)候,你最需要的幾個(gè)功能有:

快速探索數(shù)據(jù)所需的一行代碼圖表

拆分/研究數(shù)據(jù)所需的交互式元素

當(dāng)需要時(shí)可以深入細(xì)節(jié)信息的選項(xiàng)

最終展示前能輕易進(jìn)行定制

從現(xiàn)在看來,要用 Python 語言實(shí)現(xiàn)以上功能的最佳選擇非 plotly 莫屬。它讓我們快速生成可視化圖表,交互功能使我們更好地理解信息。 我承認(rèn),繪圖絕對(duì)是數(shù)據(jù)科學(xué)工作中最讓人享受的部分,而 plotly 能讓你更加愉悅地完成這些任務(wù)。

f262a888-662e-11ed-8abf-dac502259ad0.png

(用一張圖表顯示一下用 Python 繪圖的愉悅程度隨著時(shí)間變化。來源 towardsdatascience.com) 2022年是時(shí)候升級(jí)你的 Python 繪圖庫(kù)了,讓自己在數(shù)據(jù)科學(xué)和可視化方面變得更快、更強(qiáng)、更美吧!

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3368

    瀏覽量

    42567
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1197

    瀏覽量

    20966
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4798

    瀏覽量

    84801

原文標(biāo)題:功能強(qiáng)大的開源 Python 繪圖庫(kù)

文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電氣圖庫(kù)-元件CAD

    電氣圖庫(kù)-元件CAD
    發(fā)表于 11-24 13:57 ?5次下載

    Python編程:處理網(wǎng)絡(luò)請(qǐng)求的代理技術(shù)

    在網(wǎng)絡(luò)編程中,代理技術(shù)扮演著至關(guān)重要的角色,尤其在處理網(wǎng)絡(luò)請(qǐng)求時(shí)。通過代理服務(wù)器,我們可以實(shí)現(xiàn)請(qǐng)求的轉(zhuǎn)發(fā)、緩存、負(fù)載均衡以及安全控制等功能Python作為一種功能強(qiáng)大的編程語言,為提供了豐富的工具和庫(kù),以便敏捷地實(shí)現(xiàn)和處理網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-12 07:23 ?201次閱讀

    開源項(xiàng)目】你準(zhǔn)備好DIY一款功能強(qiáng)大的機(jī)器人了嗎?

    歡迎來到DIY SMARS Robot 機(jī)器人制作教程!在本教程中,將教你制作這款功能強(qiáng)大的機(jī)器人,它配備了OLED顯示屏、RGB LED燈和可播放旋律的蜂鳴器等新功能。一起來設(shè)計(jì)電路、組裝PCB
    發(fā)表于 11-08 10:53

    ATMEL原理圖庫(kù)

    ATMEL原理圖庫(kù)
    發(fā)表于 09-27 11:49 ?0次下載

    如何幫助孩子高效學(xué)習(xí)Python:開源硬件實(shí)踐是最優(yōu)選擇

    顯著提升孩子的學(xué)習(xí)興趣和對(duì)Python原理的理解。本文將探討為何使用Raspberry Pi(樹莓派)或Unihiker(行空板)等開源硬件是孩子們掌握Python的最佳途徑。 讓孩子們?cè)?b class='flag-5'>Py
    的頭像 發(fā)表于 09-06 09:49 ?334次閱讀

    功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議

    功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議,簡(jiǎn)單方便,包含歷史記憶功能,體積小,服務(wù)器調(diào)試最合適
    發(fā)表于 09-05 11:51 ?0次下載

    第二屆大會(huì)回顧第25期 | OpenHarmony上的Python設(shè)備應(yīng)用開發(fā)

    Python以其簡(jiǎn)單、易學(xué)和功能強(qiáng)大而聞名,有著廣泛的用戶群體。采用Python開發(fā)有助于降低OpenHarmony的學(xué)習(xí)門檻。如何在OpenHarmony上用Python開發(fā)設(shè)備應(yīng)用
    的頭像 發(fā)表于 08-27 11:53 ?726次閱讀
    第二屆大會(huì)回顧第25期 | OpenHarmony上的<b class='flag-5'>Python</b>設(shè)備應(yīng)用開發(fā)

    Python建模算法與應(yīng)用

    Python作為一種功能強(qiáng)大、免費(fèi)、開源且面向?qū)ο蟮木幊陶Z言,在科學(xué)計(jì)算、數(shù)學(xué)建模、數(shù)據(jù)分析等領(lǐng)域展現(xiàn)出了卓越的性能。其簡(jiǎn)潔的語法、對(duì)動(dòng)態(tài)輸入的支持以及解釋性語言的本質(zhì),使得Python
    的頭像 發(fā)表于 07-24 10:41 ?577次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫(kù),它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1260次閱讀

    Python在人工智能領(lǐng)域的應(yīng)用

    功能強(qiáng)大的編程語言,成為了人工智能研究和開發(fā)的首選工具之一。本文將深入探討Python在人工智能領(lǐng)域的廣泛應(yīng)用,分析其優(yōu)勢(shì)、具體應(yīng)用案例以及未來的發(fā)展趨勢(shì)。
    的頭像 發(fā)表于 07-02 18:20 ?1168次閱讀

    PyTorch與PyCharm的區(qū)別

    在深入探討PyTorch與PyCharm的區(qū)別時(shí),我們首先需要明確兩者在計(jì)算機(jī)科學(xué)和數(shù)據(jù)科學(xué)領(lǐng)域中的不同定位和功能。PyTorch是一個(gè)開源的深度學(xué)習(xí)庫(kù),而PyCharm則是一款功能強(qiáng)大
    的頭像 發(fā)表于 07-02 12:36 ?3191次閱讀

    Python自動(dòng)化測(cè)試框架及其應(yīng)用

    Pytest是一個(gè)非常成熟的全功能Python測(cè)試框架,與python自帶的unittest測(cè)試框架類似,但是比unittest框架使用起來更簡(jiǎn)潔,功能
    的頭像 發(fā)表于 04-03 16:15 ?564次閱讀
    <b class='flag-5'>Python</b>自動(dòng)化測(cè)試框架及其應(yīng)用

    數(shù)明半導(dǎo)體推出一款功能強(qiáng)大且應(yīng)用靈活的電機(jī)驅(qū)動(dòng)芯片—SiLM9408/09

    數(shù)明半導(dǎo)體最新推出的SiLM9408/09是一款功能強(qiáng)大且應(yīng)用靈活的電機(jī)驅(qū)動(dòng)芯片,以其雙通道H橋設(shè)計(jì)、低飽和壓降特性和廣泛的適用性,滿足日益復(fù)雜多變的電機(jī)控制需求,尤其適合應(yīng)用于12V或24V的電源供電系統(tǒng)。
    的頭像 發(fā)表于 03-19 16:38 ?1888次閱讀
    數(shù)明半導(dǎo)體推出一款<b class='flag-5'>功能強(qiáng)大</b>且應(yīng)用靈活的電機(jī)驅(qū)動(dòng)芯片—SiLM9408/09

    瑞薩電子推出功能強(qiáng)大的單芯片RZ/V2H MPU

    瑞薩電子針對(duì)下一代機(jī)器人領(lǐng)域的需求,推出了一款功能強(qiáng)大的單芯片RZ/V2H MPU。這款芯片是瑞薩電子在技術(shù)創(chuàng)新上的又一重要成果,它專為具備視覺AI和實(shí)時(shí)控制功能的機(jī)器人設(shè)計(jì),將助力機(jī)器人領(lǐng)域?qū)崿F(xiàn)更高效的性能提升。
    的頭像 發(fā)表于 03-08 11:01 ?1208次閱讀

    Nightingale夜鶯監(jiān)控部署安裝和使用

    最近在對(duì)開源的新型監(jiān)控做調(diào)研,發(fā)現(xiàn)Nightingale功能強(qiáng)大,使用效果還不錯(cuò),并對(duì),并對(duì)目前監(jiān)控做了一個(gè)對(duì)比。
    的頭像 發(fā)表于 01-10 09:24 ?2986次閱讀
    Nightingale夜鶯監(jiān)控部署安裝和使用
    主站蜘蛛池模板: 国产精品18久久久久久白浆.| 飘雪在线观看免费完整版| 久久观看视频| 欧美激情视频在线观看一区二区三区| 日本欧美午夜三级| 亚洲精品综合在线影院| 99九九精品视频| 国产色精品久久人妻无码 | 俺也去最新地址| 国产午夜不卡| 女人高潮久久久叫人喷水| 性欧美video| 97色香蕉在线| 国产亚洲精品97在线视频一 | 日本无码色哟哟婷婷最新网站| 亚洲天堂视频网站| 成人网视频在线观看免费| 久久国内精品视频| 三级黄色在线看| 2021精品乱码多人收藏| 国产人妻精品无码AV在线五十路| 男人桶女人j的视频在线观看 | 偷窥wc美女毛茸茸视频| 91福利在线观看| 韩国黄色影院| 色爱区综合激情五月综合激情| 中文字幕精品无码一区二区| 国产免费内射又粗又爽密桃视频 | 久久re视频这里精品一本到99| 日韩亚洲欧洲在线rrrr片| 中文字幕无线观看不卡网站| 国产久久亚洲美女久久| 欧美日韩精品| 中文字幕A片视频一区二区| 国产亚洲精品视频亚洲香蕉视| 亲嘴扒胸摸屁股视频免费网站| 张津瑜的9分58秒7段免费| 国产一区二区内射最近更新| 日日摸天天添天天添无码蜜臀| 2019中文字幕乱码免费| 解开白丝老师的短裙猛烈进入 |