了解熊猫的对角线'散射矩阵图

时间:2014-10-14 12:24:38

标签: python pandas

我正在使用Pandas绘制散点图。我可以理解该情节,除了对角线图中的曲线。有人可以向我解释他们的意思吗?

图像:

enter image description here

代码:

import pylab
import numpy as np
from pandas.tools.plotting import scatter_matrix
import pandas as pd

def make_scatter_plot(X, name):    
    """
    Make scatterplot.

    Parameters:
    -----------
    X:a design matrix where each column is a feature and each row is an observation.
    name: the name of the plot.
    """
    pylab.clf()
    df = pd.DataFrame(X)
    axs = scatter_matrix(df, alpha=0.2, diagonal='kde')

    for ax in axs[:,0]: # the left boundary
        ax.grid('off', axis='both')
        ax.set_yticks([0, .5])

    for ax in axs[-1,:]: # the lower boundary
        ax.grid('off', axis='both')
        ax.set_xticks([0, .5])

    pylab.savefig(name + ".png")

2 个答案:

答案 0 :(得分:25)

正如您所知,散点矩阵正在绘制针对彼此列指定的每个列。

然而,在这种格式中,当你到达对角线时,你会看到一个列对着自己的图。由于这总是一条直线,Pandas决定它可以为您提供更多有用的信息,并绘制该列数据的密度图。

请参阅http://pandas.pydata.org/pandas-docs/stable/visualization.html#density-plot

如果您想要直方图,可以将绘图代码更改为:

axs = scatter_matrix(df, alpha=0.2, diagonal='hist')

答案 1 :(得分:5)

绘图方法允许少数默认线图之外的绘图样式。这些方法可以作为plot()的kind关键字参数提供。其中包括:

  • 'bar'或'barh'表示条形图
  • 'hist'for histogram
  • 'box'代表boxplot
  • 密度图的
  • 'kde'或'density'
  • 区域地块的
  • 'area'
  • 分散图的
  • 'scatter'
  • 'hexbin'表示六边形箱图
  • 饼图的'馅饼'

https://pandas.pydata.org/pandas-docs/stable/visualization.html