pandas.DataFrame.plot.hexbin #

数据框.plot。hexbin ( x , y , C = None , reduce_C_function = None , gridsize = None , ** kwargs ) [来源] #

生成六边形分箱图。

生成xy的六边形分箱图。如果CNone (默认值),则这是 处观测值出现次数的直方图。(x[i], y[i])

如果指定了 C ,则指定给定坐标处的值。这些值针对每个六边形箱进行累积,然后根据reduce_C_function进行减少,默认使用 NumPy 的均值函数 ( )。 (如果指定了C ,它也必须是与xy长度相同的一维序列,或者是列标签。)(x[i], y[i])numpy.mean()

参数
x int 或 str

x 点的列标签或位置。

y int 或 str

y 点的列标签或位置。

C int 或 str,可选

(x, y)点值的列标签或位置。

reduce_C_function可调用,默认np.mean

将 bin 中的所有值减少为单个数字的一​​个参数的函数(例如np.meannp.maxnp.sumnp.std)。

gridsize int 或 (int, int) 的元组,默认 100

x 方向上的六边形数量。以六边形近似规则的方式选择y方向上相应的六边形数量。或者,gridsize 可以是一个元组,其中两个元素指定 x 方向和 y 方向上的六边形数量。

**夸格

其他关键字参数记录在 中 DataFrame.plot()

返回
matplotlib.AxesSubplot

Axes绘制 hexbin 的matplotlib 。

也可以看看

DataFrame.plot

绘制 DataFrame 的图。

matplotlib.pyplot.hexbin

使用 matplotlib 绘制六边形分箱图,这是在底层使用的 matplotlib 函数。

例子

以下示例是使用正态分布的随机数据生成的。

>>> 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)

下一个示例使用Cnp.sum作为reduce_C_function。请注意,“观察”值的范围从 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")