pandas.plotting.scatter_matrix(frame, alpha=0.5, figsize=None, ax=None, grid=False, diagonal='hist', marker='.', density_kwds=None, hist_kwds=None, range_padding=0.05, **kwargs)[source]#

Draw a matrix of scatter plots.

alphafloat, optional

Amount of transparency applied.

figsize(float,float), optional

A tuple (width, height) in inches.

axMatplotlib axis object, optional
gridbool, optional

Setting this to True will show the grid.

diagonal{‘hist’, ‘kde’}

Pick between ‘kde’ and ‘hist’ for either Kernel Density Estimation or Histogram plot in the diagonal.

markerstr, optional

Matplotlib marker type, default ‘.’.


Keyword arguments to be passed to kernel density estimate plot.


Keyword arguments to be passed to hist function.

range_paddingfloat, default 0.05

Relative extension of axis range in x and y with respect to (x_max - x_min) or (y_max - y_min).


Keyword arguments to be passed to scatter function.


A matrix of scatter plots.


>>> df = pd.DataFrame(np.random.randn(1000, 4), columns=['A','B','C','D'])
>>> pd.plotting.scatter_matrix(df, alpha=0.2)
array([[<AxesSubplot: xlabel='A', ylabel='A'>,
    <AxesSubplot: xlabel='B', ylabel='A'>,
    <AxesSubplot: xlabel='C', ylabel='A'>,
    <AxesSubplot: xlabel='D', ylabel='A'>],
   [<AxesSubplot: xlabel='A', ylabel='B'>,
    <AxesSubplot: xlabel='B', ylabel='B'>,
    <AxesSubplot: xlabel='C', ylabel='B'>,
    <AxesSubplot: xlabel='D', ylabel='B'>],
   [<AxesSubplot: xlabel='A', ylabel='C'>,
    <AxesSubplot: xlabel='B', ylabel='C'>,
    <AxesSubplot: xlabel='C', ylabel='C'>,
    <AxesSubplot: xlabel='D', ylabel='C'>],
   [<AxesSubplot: xlabel='A', ylabel='D'>,
    <AxesSubplot: xlabel='B', ylabel='D'>,
    <AxesSubplot: xlabel='C', ylabel='D'>,
    <AxesSubplot: xlabel='D', ylabel='D'>]], dtype=object)