DataFrame.plot.hexbin(*args, **kwargs)#

Generate a hexagonal binning plot.

Generate a hexagonal binning plot of x versus y. If C is None (the default), this is a histogram of the number of occurrences of the observations at (x[i], y[i]).

If C is specified, specifies values at given coordinates (x[i], y[i]). These values are accumulated for each hexagonal bin and then reduced according to reduce_C_function, having as default the NumPy’s mean function (numpy.mean()). (If C is specified, it must also be a 1-D sequence of the same length as x and y, or a column label.)

  • x (int or str (Not supported yet)) – The column label or position for x points.

  • y (int or str (Not supported yet)) – The column label or position for y points.

  • C (int or str, optional (Not supported yet)) – The column label or position for the value of (x, y) point.

  • reduce_C_function (callable, default np.mean (Not supported yet)) – Function of one argument that reduces all the values in a bin to a single number (e.g. np.mean, np.max, np.sum, np.std).

  • gridsize (int or tuple of (int, int), default 100 (Not supported yet)) – The number of hexagons in the x-direction. The corresponding number of hexagons in the y-direction is chosen in a way that the hexagons are approximately regular. Alternatively, gridsize can be a tuple with two elements specifying the number of hexagons in the x-direction and the y-direction.

  • **kwargs – Additional keyword arguments are documented in DataFrame.plot().


The matplotlib Axes on which the hexbin is plotted.

Return type


See also


Make plots of a DataFrame.


Hexagonal binning plot using matplotlib, the matplotlib function that is used under the hood.


The following examples are generated with random data from a normal distribution.

(Source code)

The next example uses C and np.sum as reduce_C_function. Note that ‘observations’ values ranges from 1 to 5 but the result plot shows values up to more than 25. This is because of the reduce_C_function.

(Source code)

This docstring was copied from pandas.plotting._core.PlotAccessor.