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


Python pandas.DataFrame.plot.hexbin用法及代碼示例

用法:

DataFrame.plot.hexbin(x, y, C=None, reduce_C_function=None, gridsize=None, **kwargs)

生成六邊形分箱圖。

生成 xy 的六邊形分箱圖。如果 CNone(默認值),則這是在 (x[i], y[i]) 的觀察出現次數的直方圖。

如果指定了 C,則指定給定坐標 (x[i], y[i]) 處的值。這些值為每個六邊形 bin 累加,然後根據 reduce_C_function 減少,默認情況下具有 NumPy 的均值函數 (numpy.mean())。 (如果指定了C,它還必須是與xy長度相同的一維序列,或者是列標簽。)

參數

x整數或字符串

x 點的列標簽或位置。

y整數或字符串

y 點的列標簽或位置。

Cint 或 str,可選

(x, y) 點的值的列標簽或位置。

reduce_C_function可調用,默認 np.mean

一個參數的函數,可將 bin 中的所有值減少為單個數字(例如 np.mean , np.max , np.sum , np.std )。

gridsizeint 或 (int, int) 的元組,默認 100

x 方向上的六邊形數。 y方向上相應數量的六邊形以六邊形近似規則的方式選擇。或者,gridsize 可以是一個具有兩個元素的元組,指定 x 方向和 y 方向上六邊形的數量。

**kwargs

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

返回

matplotlib.AxesSubplot

繪製 hexbin 的 matplotlib Axes

例子

以下示例是使用來自正態分布的隨機數據生成的。

>>> n = 10000
>>> df = pd.DataFrame({'x': np.random.randn(n),
...                    'y': np.random.randn(n)})
>>> ax = df.plot.hexbin(x='x', y='y', gridsize=20)
pandas-DataFrame-plot-hexbin-1.png

下一個示例使用 Cnp.sum 作為 reduce_C_function 。請注意,‘observations’ 值的範圍從 1 到 5,但結果圖顯示的值最多超過 25。這是因為 reduce_C_function

>>> n = 500
>>> df = pd.DataFrame({
...     'coord_x': np.random.uniform(-3, 3, size=n),
...     'coord_y': np.random.uniform(30, 50, size=n),
...     'observations': np.random.randint(1,5, size=n)
...     })
>>> ax = df.plot.hexbin(x='coord_x',
...                     y='coord_y',
...                     C='observations',
...                     reduce_C_function=np.sum,
...                     gridsize=10,
...                     cmap="viridis")
pandas-DataFrame-plot-hexbin-2.png

相關用法


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