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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

功能強大的開源Python繪圖庫

數據分析與開發 ? 來源:數據分析1480 ? 作者:數據分析1480 ? 2022-11-17 15:05 ? 次閱讀

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

我之前一直守著 matplotlib 用的原因,就是為了我學會它復雜的語法,已經“沉沒"在里面的幾百個小時的時間成本。這也導致我花費了不知多少個深夜,在 StackOverflow 上搜索如何“格式化日期”或“增加第二個Y軸”。

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

本文中所有代碼都已經在 Github 上開源,所有的圖表都是可交互的,請使用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 軟件包是一個開源的代碼庫,它基于 plot.js,而后者基于 d3.js。我們實際使用的則是一個對 plotly 進行封裝的庫,名叫 cufflinks,它能讓你更方便地使用 plotly 和 Pandas 數據表協同工作。 *注:Plotly 本身是一個擁有多個不同產品和開源工具集的可視化技術公司。Plotly 的 Python 庫是可以免費使用的,在離線模式可以創建數量不限的圖表,在線模式因為用到了 Plotly 的共享服務,只能生成并分享 25 張圖表。 本文中的所有可視化圖表都是在 Jupyter Notebook 中使用離線模式的 plotly + cufflinks 庫完成的。在使用pip install cufflinks plotly完成安裝后,你可以用下面這樣的代碼在 Jupyter 里完成導入:

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

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

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

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

(代碼中的df是標準的 Pandas dataframe 對象)

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

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

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

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

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

對pandas數據表進行簡單的處理,并生成條形圖:

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

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

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

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

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

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

散點圖

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

時間序列分析

在現實世界中,相當部分的數據都帶有時間元素。幸運的是,plotly + cufflinks 天生就帶有支持時間序列可視化分析的功能。 以我在“Towards Data Science”網站上發表的文章數據為例,讓我們以發布時間為索引構建一個數據集,看看文章熱度的變化情況:

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

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

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

自動生成美觀的時間序列 X 軸

增加第二條 Y 軸,因為兩個變量的范圍并不一致

把文章標題放在鼠標懸停時顯示的標簽

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

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

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

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

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

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

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

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

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

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

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

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

和前面一樣,我們可以將 pandas 和 plotly+cufflinks 結合起來,實現許多有用的圖表:

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

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

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

高級繪圖功能

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

散點圖矩陣

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

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

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

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

關系熱圖

為了體現多個數值變量間的關系,我們可以計算它們的相關性,然后用帶標注熱度圖的形式進行可視化:

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

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

自定義主題

除了層出不窮的各種圖表外,Cufflinks 還提供了許多不同的著色主題,方便你輕松切換各種不同的圖表風格。下面兩張圖分別是“太空”主題和“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

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

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

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

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

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

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

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

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

(Plotly 交互式地圖,顯示了美國國內的風力發電場數據。來源:plot.ly)

最后……

關于沉沒成本謬誤,最糟糕的一點在于,人們往往只能在放棄之前的努力時,才能意識到自己浪費了多少時間。 在選擇一款繪圖庫的時候,你最需要的幾個功能有:

快速探索數據所需的一行代碼圖表

拆分/研究數據所需的交互式元素

當需要時可以深入細節信息的選項

最終展示前能輕易進行定制

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

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3398

    瀏覽量

    42659
  • 可視化
    +關注

    關注

    1

    文章

    1200

    瀏覽量

    21012
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84970

原文標題:功能強大的開源 Python 繪圖庫

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    電氣圖庫-元件CAD

    電氣圖庫-元件CAD
    發表于 11-24 13:57 ?5次下載

    Python編程:處理網絡請求的代理技術

    在網絡編程中,代理技術扮演著至關重要的角色,尤其在處理網絡請求時。通過代理服務器,我們可以實現請求的轉發、緩存、負載均衡以及安全控制等功能Python作為一種功能強大的編程語言,為提供了豐富的工具和庫,以便敏捷地實現和處理網絡
    的頭像 發表于 11-12 07:23 ?224次閱讀

    開源項目】你準備好DIY一款功能強大的機器人了嗎?

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

    資產管理系統:功能強大的企業資產管家

    中設智控資產管理系統是一款全面高效的資產管理解決方案,涵蓋前期管理、資產管理、運行管理、維修管理、維護管理、工單管理、巡檢管理、物資管理、基礎管理、系統設置等多個功能模塊。
    的頭像 發表于 10-17 09:48 ?400次閱讀
    資產管理系統:<b class='flag-5'>功能強大</b>的企業資產管家

    ATMEL原理圖庫

    ATMEL原理圖庫
    發表于 09-27 11:49 ?0次下載

    如何幫助孩子高效學習Python:開源硬件實踐是最優選擇

    顯著提升孩子的學習興趣和對Python原理的理解。本文將探討為何使用Raspberry Pi(樹莓派)或Unihiker(行空板)等開源硬件是孩子們掌握Python的最佳途徑。 讓孩子們在Py
    的頭像 發表于 09-06 09:49 ?356次閱讀

    功能強大的網絡通訊工具,支持各類TCP、UDP、HTTP的通訊協議

    功能強大的網絡通訊工具,支持各類TCP、UDP、HTTP的通訊協議,簡單方便,包含歷史記憶功能,體積小,服務器調試最合適
    發表于 09-05 11:51 ?0次下載

    第二屆大會回顧第25期 | OpenHarmony上的Python設備應用開發

    Python以其簡單、易學和功能強大而聞名,有著廣泛的用戶群體。采用Python開發有助于降低OpenHarmony的學習門檻。如何在OpenHarmony上用Python開發設備應用
    的頭像 發表于 08-27 11:53 ?772次閱讀
    第二屆大會回顧第25期 | OpenHarmony上的<b class='flag-5'>Python</b>設備應用開發

    Python建模算法與應用

    Python作為一種功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得Python
    的頭像 發表于 07-24 10:41 ?637次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1362次閱讀

    Python在人工智能領域的應用

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

    PyTorch與PyCharm的區別

    在深入探討PyTorch與PyCharm的區別時,我們首先需要明確兩者在計算機科學和數據科學領域中的不同定位和功能。PyTorch是一個開源的深度學習庫,而PyCharm則是一款功能強大
    的頭像 發表于 07-02 12:36 ?3374次閱讀

    Python自動化測試框架及其應用

    Pytest是一個非常成熟的全功能Python測試框架,與python自帶的unittest測試框架類似,但是比unittest框架使用起來更簡潔,功能
    的頭像 發表于 04-03 16:15 ?583次閱讀
    <b class='flag-5'>Python</b>自動化測試框架及其應用

    數明半導體推出一款功能強大且應用靈活的電機驅動芯片—SiLM9408/09

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

    瑞薩電子推出功能強大的單芯片RZ/V2H MPU

    瑞薩電子針對下一代機器人領域的需求,推出了一款功能強大的單芯片RZ/V2H MPU。這款芯片是瑞薩電子在技術創新上的又一重要成果,它專為具備視覺AI和實時控制功能的機器人設計,將助力機器人領域實現更高效的性能提升。
    的頭像 發表于 03-08 11:01 ?1259次閱讀
    主站蜘蛛池模板: YELLOW视频在线观看免费版高清 | 精品国产成人a区在线观看 精品国产成人AV在线看 | 国产激情一级毛片久久久 | 亚洲精品电影久久久影院 | 99久在线国内在线播放免费观看 | 久久精品一区 | 亚洲免费视频日本一区二区 | 国产人妻精品午夜福利免费不卡 | 国内精品乱码卡一卡2卡三卡新区 | 欧美在线看费视频在线 | 久久精品一区二区免费看 | 九九热只有精品 | 亚洲呦女专区 | 久久精品亚洲AV中文2区金莲 | 国产婷婷综合在线视频中文 | 99久久国产综合精品国 | 最近更新2019中文字幕国语 | 好男人在线高清WWW免费观看 | 黄色亚洲片 | 嫩草www视频在线观看高清 | 妖精视频一区二区免费 | 中文字幕中文字幕永久免费 | 午夜福利电影网站鲁片大全 | 国产精品99久久久久久AV色戒 | 0855福利| 很黄很色60分钟在线观看 | 三级黄色小视频 | 美艳人妻在厨房翘着屁股 | 伊人久久综在合线影院 | 美女胸被男子强捏视频 | 久久99精品国产麻豆婷婷 | 高清国产免费观看视频在线 | 亚洲精品中文字幕无码A片蜜桃 | 日韩精品一卡二卡三卡四卡2021 | 国产强奷伦奷片 | 69国产精品人妻无码免费 | 亚洲伊人情人综合网站 | 诱受H嗯啊巨肉舍友1V1 | 亚洲免费无码av线观看 | 甜性涩爱下载 | 岛国大片在线播放高清 |