當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.Series.plot.bar用法及代碼示例


用法:

Series.plot.bar(x=None, y=None, **kwargs)

垂直條形圖。

條形圖是一種用矩形條顯示分類數據的圖,矩形條的長度與它們所代表的值成比例。條形圖顯示離散類別之間的比較。該圖的一個軸顯示正在比較的特定類別,另一個軸表示測量值。

參數

x標簽或位置,可選

允許繪製一列與另一列。如果未指定,則使用 DataFrame 的索引。

y標簽或位置,可選

允許繪製一列與另一列。如果未指定,則使用所有數字列。

colorstr,array-like,或 dict,可選

DataFrame 的每個列的顏色。可能的值為:

  • 由名稱、RGB 或 RGBA 代碼引用的單一顏色字符串,

    例如‘red’ 或“#a98d19”。

  • 由名稱、RGB 或 RGBA 引用的一係列顏色字符串

    代碼,它將遞歸地用於每一列。例如 [‘green’,'yellow'] 每列的條將交替填充為綠色或黃色。如果隻有一列要繪製,則僅使用顏色列表中的第一種顏色。

  • {列名形式的字典color},這樣每一列都將是

    相應地著色。例如,如果您的列被稱為 ab ,那麽傳遞 {‘a’: ‘green’, ‘b’: ‘red’} 會將列 a 的條形著色為綠色,將列 b 的條形著色為紅色.

**kwargs

其他關鍵字參數記錄在 DataFrame.plot() 中。

返回

matplotlib.axes.Axes 或它們的 np.ndarray

subplots=True 時,每列返回一個帶有一個 matplotlib.axes.Axes 的 ndarray。

例子

基本情節。

>>> df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})
>>> ax = df.plot.bar(x='lab', y='val', rot=0)
pandas-Series-plot-bar-1.png

將整個 DataFrame 繪製成條形圖。每一列都分配有不同的顏色,每一行沿水平軸嵌套在一個組中。

>>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
>>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
>>> index = ['snail', 'pig', 'elephant',
...          'rabbit', 'giraffe', 'coyote', 'horse']
>>> df = pd.DataFrame({'speed': speed,
...                    'lifespan': lifespan}, index=index)
>>> ax = df.plot.bar(rot=0)
pandas-Series-plot-bar-2.png

繪製 DataFrame 的堆積條形圖

>>> ax = df.plot.bar(stacked=True)
pandas-Series-plot-bar-3.png

可以使用 subplots=True 按列拆分圖形,而不是嵌套。在這種情況下,返回matplotlib.axes.Axesnumpy.ndarray

>>> axes = df.plot.bar(rot=0, subplots=True)
>>> axes[1].legend(loc=2)
pandas-Series-plot-bar-4.png

如果您不喜歡默認顏色,您可以指定每列的顏色。

>>> axes = df.plot.bar(
...     rot=0, subplots=True, color={"speed": "red", "lifespan": "green"}
... )
>>> axes[1].legend(loc=2)
pandas-Series-plot-bar-5.png

繪製單個列。

>>> ax = df.plot.bar(y='speed', rot=0)
pandas-Series-plot-bar-6.png

僅繪製 DataFrame 的選定類別。

>>> ax = df.plot.bar(x='lifespan', rot=0)
pandas-Series-plot-bar-7.png

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Series.plot.bar。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。