久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!

今天就帶你深入體驗易于使用、文檔健全、功能強大的開源 Python 繪圖庫?Plotly,教你如何用超簡單的(甚至只要一行!)代碼,繪制出更棒的圖表。
“沉沒成本謬誤”是人們常犯的幾種認知偏差之一:由于在某件事上已經投入了(“沉沒”)太多的成本,即使這件事已經注定要失敗,人們傾向于繼續投入更多的時間和金錢。
比如,在不好的職位上待了比正常更長的時間,在一個明顯不可能的項目上埋頭苦干,以及(你猜的沒錯)繼續用一個陳舊、枯燥的繪圖庫——matplotlib——即使已經有了更高效、更美觀、可互動性更好的替代品了。
我之前一直守著 matplotlib 用的原因,就是為了我學會它復雜的語法,已經“沉沒"在里面的幾百個小時的時間成本。這也導致我花費了不知多少個深夜,在 StackOverflow 上搜索如何“格式化日期”或“增加第二個Y軸”。
但我們現在有一個更好的選擇了 —— 比如易于使用、文檔健全、功能強大的開源 Python 繪圖庫?Plotly。今天就帶你深入體驗下,了解它如何用超簡單的(甚至只要一行?。┐a,繪制出更棒的圖表。
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!

Plotly 概述

plotly 的 Python 軟件包是一個開源的代碼庫,它基于 plot.js,而后者基于 d3.js。我們實際使用的則是一個對 plotly 進行封裝的庫,名叫 cufflinks,它能讓你更方便地使用 plotly 和 Pandas 數據表協同工作。
本文中的所有可視化圖表都是在 Jupyter Notebook 中使用離線模式的 plotly + cufflinks 庫完成的。在使用?pip install cufflinks plotly?完成安裝后,你可以用下面這樣的代碼在 Jupyter 里完成導入:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!

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

單變量分析圖往往是開始數據分析時的標準做法,而柱狀圖基本上算是單變量分布分析時必備的圖表之一(雖然它還有一些不足)。
就拿博客文章點贊總數為例(原始數據見 Github:https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium ),做一個簡單的交互式柱狀圖:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(代碼中的 df 是標準的 Pandas dataframe 對象)
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(使用 plotly+cufflinks 創建的交互式柱狀圖)
對于已經習慣?matplotlib?的同學,你們只需要多打一個字母(把?.plot?改成?.iplot?),就能獲得看起來更加美觀的交互式圖表!點擊圖片上的元素就能顯示出詳細信息、隨意縮放,還帶有(我們接下來會提到的)高亮篩選某些部分等超棒功能。
如果你想繪制堆疊柱狀圖,也只需要這樣:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
對?pandas?數據表進行簡單的處理,并生成條形圖:功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
就像上面展示的那樣,我們可以將 plotly + cufflinks 和 pandas 的能力整合在一起。比如,我們可以先用?.pivot()?進行數據透視表分析,然后再生成條形圖。
比如統計不同發表渠道中,每篇文章帶來的新增粉絲數:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
交互式圖表帶來的好處是,我們可以隨意探索數據、拆分子項進行分析。箱型圖能提供大量的信息,但如果你看不到具體數值,你很可能會錯過其中的一大部分!

2. 散點圖

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

時間序列分析

在現實世界中,相當部分的數據都帶有時間元素。幸運的是,plotly + cufflinks 天生就帶有支持時間序列可視化分析的功能。
以我在“Towards Data Science”網站上發表的文章數據為例,讓我們以發布時間為索引構建一個數據集,看看文章熱度的變化情況:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
在上圖中,我們用一行代碼完成了幾件事情:
  • 自動生成美觀的時間序列 X 軸
  • 增加第二條 Y 軸,因為兩個變量的范圍并不一致
  • 把文章標題放在鼠標懸停時顯示的標簽中
為了顯示更多數據,我們可以方便地添加文本注釋:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
下面的代碼中,我們將一個雙變量散點圖按第三個分類變量進行著色:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
接下來我們要玩點復雜的:對數坐標軸。我們通過指定 plotly 的布局(layout)參數來實現這一點(關于不同的布局,請參考官方文檔 https://plot.ly/python/reference/?),同時我們把點的尺寸(size參數)和一個數值變量?read_ratio?(閱讀比例)綁定,數字越大,泡泡的尺寸也越大。
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
如果想要更復雜一些(詳見 Github 的源代碼),我們甚至可以在一張圖里塞進 4 個變量?。ㄈ欢⒉煌扑]你們真的這么搞)
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
和前面一樣,我們可以將 pandas 和 plotly+cufflinks 結合起來,實現許多有用的圖表:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
建議你查看官方文檔,或者源代碼,里面有更多的范例和函數實例。只需要簡單的一兩行代碼,就可以為你的圖表加上文字注釋,輔助線,最佳擬合線等有用的元素,并且保持原有的各種交互式功能。

3. 高級繪圖功能

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

散點圖矩陣

假如我們要探索許多不同變量之間的關系,散點圖矩陣(也被稱為SPLOM)就是個很棒的選擇:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
即使是這樣復雜的圖形,也是完全可交互的,讓我們能更詳盡地對數據進行探索。

關系熱圖

為了體現多個數值變量間的關系,我們可以計算它們的相關性,然后用帶標注熱度圖的形式進行可視化:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!

自定義主題

除了層出不窮的各種圖表外,Cufflinks 還提供了許多不同的著色主題,方便你輕松切換各種不同的圖表風格。下面兩張圖分別是“太空”主題和“ggplot”主題:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
此外,還有 3D 圖表(曲面和泡泡):功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
對有興趣研究的用戶來說,做張餅圖也不是什么難事:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!

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

當你在 Jupyter Notebook 里生成了這些圖表之后,你將會發現圖表的右下角出現了一個小小的鏈接,寫著“Export to plot.ly(發布到 plot.ly)”。如果你點擊這個鏈接,你將會跳轉到一個“圖表工坊”(https://plot.ly/create/)。
在這里,你可以在最終展示之前進一步修改和潤色你的圖表。可以添加標注,選擇某些元素的顏色,把一切都整理清楚,生成一個超棒的圖表。之后,你還可以將它發布到網絡上,生成一個供其他人查閱的鏈接。
下面兩張圖是在圖表工坊里制作的:
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
講了這么多,看都看累了吧?然而我們還并沒有窮盡這個庫的所有功能。限于篇幅,有些更棒的圖表和范例,只好請大家訪問 plotly 和 cufflinks 的官方文檔去一一查看咯。
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!

最后?……

關于沉沒成本謬誤,最糟糕的一點在于,人們往往只能在放棄之前的努力時,才能意識到自己浪費了多少時間。
在選擇一款繪圖庫的時候,你最需要的幾個功能有:
  • 快速探索數據所需的一行代碼圖表
  • 拆分/研究數據所需的交互式元素
  • 當需要時可以深入細節信息的選項
  • 最終展示前能輕易進行定制
從現在看來,要用 Python 語言實現以上功能的最佳選擇非 plotly 莫屬。它讓我們快速生成可視化圖表,交互功能使我們更好地理解信息。
我承認,繪圖絕對是數據科學工作中最讓人享受的部分,而 plotly 能讓你更加愉悅地完成這些任務。
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
功能強大、文檔健全的開源 Python 繪圖庫 Plotly,手把手教你用!
2020 年是時候升級你的 Python 繪圖庫了,讓自己在數據科學和可視化方面變得更快、更強、更美吧!
文章來源于網絡,侵刪!

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 万山特区| 深泽县| 铅山县| 长汀县| 淮阳县| 双峰县| 米林县| 雅安市| 沐川县| 曲阜市| 南昌县| 海晏县| 光山县| 丹寨县| 蒙城县| 延长县| 湘西| 浑源县| 定陶县| 白水县| 鲁山县| 汉寿县| 偃师市| 土默特左旗| 邯郸市| 安西县| 那曲县| 象州县| 柘荣县| 伊通| 永川市| 乐安县| 宜州市| 上犹县| 阿克陶县| 综艺| 隆林| 涪陵区| 南安市| 行唐县| 南丹县|