当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。