2014-10-14 12 views
12

Planuję wykres rozproszenia z Pandas. Rozumiem fabułę, z wyjątkiem krzywych na przekątnych poletkach. Czy ktoś może mi wyjaśnić, co mają na myśli?Zrozumienie przekątnej na wykresie macierzy rozproszonej Pandy

Obrazek:

enter image description here

Kod:

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") 
+0

troche offtopic i uczyniłyby przykład mniej skoncentrowany, ale te działki prosić o skalach logarytmiczny (dobrym przykładem dlaczego: http://blogs.sas.com /content/iml/2014/07/09/scatter-plots-with-log-axes.html) –

Odpowiedz

19

Jak można powiedzieć, matryca rozrzut jest wykreślenie każdej z kolumn określonych przeciwko każdej innej kolumnie.

Jednak w tym formacie, gdy pojawi się przekątna, zobaczysz wykres kolumny przeciwko sobie. Ponieważ zawsze będzie to linia prosta, Panda zdecyduje, że może dostarczyć ci bardziej przydatnych informacji i kreśli wykres gęstości właśnie tej kolumny danych.

Zobacz http://pandas.pydata.org/pandas-docs/stable/visualization.html#density-plot.

Jeśli wolisz mieć histogram, można zmienić swój kod spiskowanie w celu:

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

dzięki! jakie są inne opcje oprócz "kde" lub "hist"? – Qwerty

2

metody Wykreślanie umożliwić garści stylów wydruku innych niż działki numer domyślny. Te metody mogą być dostarczane jako rodzaj argumentu kluczowego dla funkcji plot(). Należą do nich:

  • 'bar' lub 'barh' dla działek kreskowych
  • 'hist' dla histogramu
  • 'box' dla boxplot
  • 'KDE' lub 'gęstość' dla działek gęstości
  • obszarowej na poletkach obszaru
  • 'rozrzut' dla działek rozproszonych
  • 'hexbin' dla sześciokątnych działek bin
  • „pie” dla działek pie

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

Powiązane problemy