%% Caricamento dati Xtable=readtable('stars.xlsx','ReadRowNames',... true,'ReadVariableNames',true,'Sheet','dati','Range','A1:F15'); % Escludo la variabile addetti e trasformo la table in array X=table2array(Xtable); nomivar=Xtable.Properties.VariableNames; nomiunit=Xtable.Properties.RowNames; %% Rappresentazioni tramite stelle glyphplot(X,'obslabels',nomiunit) %% Rappresentazioni tramite facce glyphplot(X,'glyph','face','obslabels',nomiunit) %% Rappresentazione tramite curve trigonometriche % Nel pannello di sinistra si usano dati standardizzati subplot(1,2,1) andrewsplot(zscore(X)) title('Valori standardizzati') % Nel pannello di destra i valori originari subplot(1,2,2) h=andrewsplot(X); title('Valori originari') %{ % Nel pannello di destra aggiungere i nomi delle rispettive curve in % posizione x=800 sull'asse delle ascisse xcoo=[h.XData]; ycoo=[h.YData]; % Crea la sequenza 800, 1801, ... xinit=800; sel=xinit:1001:1000*(size(X,1)); % Aggiungi al grafico i nomi delle linee text(xcoo(sel),ycoo(sel),nomiunit) %} % COMMENTO % In ciascuno dei grafici precedenti il settore delle raffinerie risulta % sempre molto distante dagli altri settori %% Matrice dei diagrammi di dispersione (con i boxplot sulla diagonale) spmplot(Xtable,'dispopt','box') %% Matrice dei diagrammi di dispersione (con gli istogrammi sulla diagonale) spmplot(Xtable,'dispopt','hist') %% Matrice dei diagrammi di dispersione senza il settore outlier n=size(X,1); Xpulito=X([1:5 7:n],:); spmplot(Xpulito) %% Matrice dei diagrammi di dispersione con boxplot sulla diagonale principale spmplot(Xpulito,'dispopt','box') %% catter plot matrix in presenza di una variabile di ragguppamento % Call of spmplot without name/value pairs. % Iris data: scatter plot matrix with univariate boxplots on the main % diagonal load fisheriris; labels = {'Sepal Length','Sepal Width','Petal Length','Petal Width'}; plo=struct; plo.nameY=labels; spmplot(meas,species,plo,'dispot','box') % Osservazione: i gruppi possono essere nascosti/mostrati facendo click % sulla legenda %% Rappresentazione in coordinate parallele dei Fisher Iris parallelcoords(meas,'Group',species,'Labels',labels) %% Rappresentazione in coordinate parallele utilizzando quantili delle curve % Es. ripetere il grafico precedente ma questa volta plottare sono la mediana % ed i percentili 0.05 e 0.95 for ciascun gruppo e un'ampiezza di linea % pari a 2 parallelcoords(meas,'Group',species,'Labels',labels,'quantile',.05,'LineWidth',2) %% Rappresentazione in coordinate parallele dei Fisher Iris (funzione parallelplot) % Load the Fisher iris sample data. figure parallelplot(meas,'GroupData',species) %% Rappresentazione tramite curve trigonometriche dei Fisher Iris data andrewsplot(meas,'group',species) % Commento: il gruppo degli iris versicolor risulta molto vicino a quello % degli iris virginica. Al contrario, il gruppo degli iris setosa sembra % marcatamente diverso da quello degli altri due.