Come aggiungere la media delle coordinate in un grafico bivariato, ovvero tracciare i centroidiHo una serie di coordinate con due tipi di righe. I dati sono distribuiti in tre colonne: Colonna1 (coordinate x), Colonna2 (coordinate y) e Tipo.
Dopo averli rappresentati graficamente in un'analisi bivariata e aver disegnato un'ellisse attorno a entrambi i gruppi di coordinate, vorrei aggiungere un marcatore al centro di ciascun gruppo per indicare il baricentro di ciascun gruppo di coordinate. Il marcatore dovrebbe, preferibilmente, corrispondere al colore determinato dalla colonna "Tipo".
Vedo i valori che mi servono nelle statistiche sotto il grafico: si tratta della media della Colonna 1 e della Colonna 2 per ciascun gruppo, ma non so come aggiungerli al grafico usando i marcatori colorati. Per l'immagine qui sotto ho aggiunto manualmente due "+" come testo, ma diventa un problema quando devo provare più volte con più gruppi.

Combinazione e pulizia dei datiPersonalizzazione di massaRe: Come aggiungere la media delle coordinate in un grafico bivariato, ovvero come tracciare i centroidiForse qualcosa del genere
Seemed easier to find the markers on a black background.Sembrava più facile trovare i marcatori su uno sfondo nero.
// this is an imperfect solution; the added marker color and position is static and
// will not respond to changes. It also depends on the organization of the displayboxes
// in the report.
oldpref = getpreference(Continuous Color Theme( )); // remember the old color pref
setpreference(Continuous Color Theme( "Spectral" )); // set a more obvious color change
bc=open("$sample_data/big class.jmp");
// make a graph with density ellipses for each age
bv = bc<
<BIVARIATE>
="15", elname = elOutline << gettitle; // "Bivariate Normal Ellipse P=0.950 age==17" // that same ellipse name appears above, with a color swatch. get the color. query = Eval Insert( "//TextEditBox[text()[contains(.,'^elname^')]]" ); // the query is the label to the right of a popup and the color. // .. moves up to the parent; the CustomBox child holds the color customBoxColor = bv << xpath( query || "/../CustomBox" ); // extracting the color from the popupbox legend: write to svg (customboxcolor) << savepicture( "$temp/color.svg", "svg" ); // read the svg text svgblob = Load Text File( "$temp/color.svg", blob() ); // parse the svg text to a data table, just grab the color dt = Open( svgblob, invisible, // I uses the XML wizard to generate this code. XML Settings( Stack( 0 ), Row( "/svg/g/g/g" ), // SVG *is* XML Col( "/svg/g/g/g/@stroke", Column Name( "color" ), Fill( "Use Once" ), Type( "Character" ), Format( {"Best"} ), Modeling Type( "Continuous" ) ) ), XML Wizard( 0 ) ); // the data table's color column (and only row) is the color elColor = Substr( dt:color[1], 2 ); // "#8E95D5", drop the # close(dt,nosave); // don't leave the invisible table open // convert the hex to a JSL color elColor = rgbcolor(Hex To Number( Substr( elColor, 1, 2 ) ),Hex To Number( Substr( elColor, 3, 2 ) ),Hex To Number( Substr( elColor, 5, 2 ) )); , // else JMP 14 has no XML elColor = rgbcolor(1,1,1); // white, opposite of background color, black ); // next, get the coordinates of the mean // minimal validation we are looking at the right column... if( elOutline[NumberColBox(1)]<
<GETHEADING></GETHEADING>
</BIVARIATE>
Links:
xpath: <A href="https://community.jmp.com/t5/Discovery-Summit-2015/JMP-Discovery-2015-Mining-JMP-Reports-v10-pdf/m-p/22595#U22595" class="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa" target="_blank">JMP Discovery 2015 - Estrazione dei report JMP - v10.pdf</A> and <A href="https://community.jmp.com/t5/Discussions/xPath-coding-help/m-p/326500/highlight/true#M57581" target="_blank">Questo</A>
ellipse: <A href="https://community.jmp.com/t5/Uncharted/Ellipse/m-p/21242#U21242" class="lia-mention-container-editor-message lia-img-icon-blog-thread lia-fa-icon lia-fa-blog lia-fa-thread lia-fa" target="_blank">Ellisse</A>
XML: <A href="https://community.jmp.com/t5/Uncharted/Open-an-RSS-Feed-in-JMP/m-p/239296#U239296" class="lia-mention-container-editor-message lia-img-icon-blog-thread lia-fa-icon lia-fa-blog lia-fa-thread lia-fa" target="_blank">Aprire un feed RSS in JMP</A> , <A href="https://community.jmp.com/t5/Uncharted/Contour-Plot-Areas/m-p/294516#U294516" class="lia-mention-container-editor-message lia-img-icon-blog-thread lia-fa-icon lia-fa-blog lia-fa-thread lia-fa" target="_blank">Aree del grafico a contorno</A> , <A href="https://community.jmp.com/t5/Uncharted/Currency-Exchange-Rates/m-p/240876#U240876" class="lia-mention-container-editor-message lia-img-icon-blog-thread lia-fa-icon lia-fa-blog lia-fa-thread lia-fa" target="_blank">Tassi di cambio valuta</A> , <A href="https://community.jmp.com/t5/Uncharted/SQL-for-Cord-Cutters/m-p/238656#U238656" class="lia-mention-container-editor-message lia-img-icon-blog-thread lia-fa-icon lia-fa-blog lia-fa-thread lia-fa" target="_blank">SQL per chi taglia i cavi</A>
<BR />
Re: Come aggiungere la media delle coordinate in un grafico bivariato, ovvero come tracciare i centroidiNella mia mente sembra più o meno così:
Marker Size( 6 );
Marker(
1,
{Col Mean( :Column 1, :Type == "Type1" ),
Col Mean( :Column 2, :Type == "Type1" )}
);
Marker(
1,
{Col Mean( :Column 1, :Type == "Type2" ),
Col Mean( :Column 2, :Type == "Type2" )}
);
Tuttavia anche questa soluzione richiede l'aggiunta di un marcatore per gruppo.
Esiste un modo per aggiungere tutti i marcatori per tutti i gruppi inclusi nella colonna "Tipo"?
Come continuare a utilizzare lo stesso tema colore utilizzato nell'analisi?
Re: Come aggiungere la media delle coordinate in un grafico bivariato, ovvero come tracciare i centroidiTuttavia, questo è un semplice esempio per la mia esigenza. Normalmente avrei decine di centroidi da aggiungere alla visualizzazione. Nelle mie analisi reali, questo diventa troppo arduo a causa del numero di possibili categorie per cui ho bisogno di tracciare i centroidi.
Forse c'è un modo per aggiungere tali coordinate senza dover aggiungere manualmente righe alla mia tabella.
Esiste un modo per rappresentare graficamente i valori medi calcolati dall'analisi del tipo evitando la rappresentazione manuale?
Oppure anche in Graph Builder, non ha importanza, purché si eviti l'aggiunta manuale di righe (marcatori).
Re: Come aggiungere la media delle coordinate in un grafico bivariato, ovvero come tracciare i centroidiBasta aggiungere le coordinate e digitare i centroidi come due nuove righe nella tabella dati. Modificare lo stato delle righe in "Escluso", colore rosso o blu e marcatore "+".