Pandas也能輕鬆繪圖,簡單而又漂亮

首發地址在此(鏈接直達)

儘管Matplotlib可以滿足我們在Python中繪製圖形時的所有需求,但有時使用它創建漂亮的圖表有時會很耗時。好吧,有時候我們可能想向老闆展示一些東西,以便擁有一些漂亮且互動的情節。
有很多出色的庫可以做到這一點, Bokeh就是其中之一。但是,可能還需要一些時間來學習如何使用此類庫。實際上,已經有人爲我們解決了這個問題。這是一個名爲的庫Pandas-Bokeh,該庫直接使用Pandas並使用Bokeh渲染數據。語法非常簡單,我相信您可以立即開始使用它!

條形圖示例

讓我使用一個示例來演示該庫。

首先,我們需要使用安裝庫pip
pip install pandas_bokeh
安裝後,我們需要導入numpypandas當然還有pandas_bokeh庫。

import numpy as np
import pandas as pd
import pandas_bokeh

我想生成一些隨機數據用於演示。假設我們有一個電子商務網站的數據集。數據集包含2011年至2010年三個類別的銷售額。讓我們使用Numpy生成此數據集。


df = pd.DataFrame({ 
    'Year':np.arange(2011,2021),
    'Category-A':np.random.uniform(9000,15000,10),
    'Category-B':np.random.uniform (
    9000,15000,10 ),'Category-C':np.random.uniform(9000,15000,10)
})

現在,我們在Pandas數據框中有數據。在開始用於pandas_bokeh繪製數據之前,我們需要將輸出設置爲筆記本,這將適用於Jupyter / iPython筆記本。我將在後面解釋爲什麼我們需要這樣做,這是因爲pandas_bokeh支持其他輸出位置。

pandas_bokeh.output_notebook()

好的。我們現在可以繪製數據框。

df.plot_bokeh(
    kind='bar',
    x='Year',
    y=['Category-A', 'Category-B', 'Category-C'],
    xlabel='Category',
    ylabel='Annual Sales',
    title='Annual Sales by Category'
)

  • kind您想繪製哪種類型的圖表?當前,pandas_bokeh支持以下圖表類型:線,點,步,散點圖,條形圖,直方圖,面積,餅圖等。
  • x和y簡單地輸入Pandas數據框的列名稱
  • xlabel並且ylabelx軸和y軸的標籤
  • title 圖表標題.

因此,您已經看到創建這樣一個美麗的情節是多麼容易。更重要的是,它是交互式的。以下是官方GitHub存儲庫中的GIF

高級參數

該庫還支持許多高級參數,如果需要的話,這些參數使我們可以自定義繪圖。
這是另一個使用相同數據集但使用折線圖繪製數據的示例。

df.plot_bokeh.line(
    x='Year', 
    y=['Category-A', 'Category-B', 'Category-C'],
    figsize=(900, 500),
    ylim=(5000, 20000),
    zooming=False,
    panning=False
)

請注意,這裏我使用df.plot_bokeh.line(...)等價於df.plot_bokeh(kind='line', ...)

  • figsize 在元組中定義圖的大小(寬度,高度)
  • xlim和分別ylim定義x軸和y軸的默認範圍。在這裏,我僅設置y軸。
  • zooming 啓用/禁用縮放手勢
  • panning 啓用/禁用平移手勢

設置輸出爲HTML

`

`
除了Jupyter Notebook,我們還可以將輸出設置爲HTML文件。因此,該圖表將被保存並輸出到可以保留和分發的HTML文件中。

在本文中,我演示瞭如何使用該pandas_bokeh庫以極其簡單的代碼但具有交互功能的精美演示來端對端繪製Pandas數據框。
事實證明,當您有許多特殊的渲染要求時,該庫可能無法滿足您的所有需求,但是當您只想爲數據集構建典型圖表時,它是一個很好的庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章