Box-intreccio con punti allineati in scatola più trama a violinoBuon pomeriggio a tutti,
Ho voluto creare un grafico in cui i punti cadessero esattamente all'interno di ogni box-plot e del relativo violin plot.
Usando il costruttore di grafici, mi sono reso conto che i punti non si allineano all'interno della scatola.
Qualcuno ha idea di come risolvere questo problema?
allego foto.

Personalizzazione di massaRe: Box-plot con punti allineati in box plus plot a violinoSe stai usando Windows puoi anche trovare questi da Mappa caratteri:

C'è anche un'opzione per creare una funzione aggiuntiva/personalizzata per farlo. Questo non sarebbe perfetto, ma potrebbe essere utile? Ecco un rapido esempio di possibile funzione (la renderei più robusta se dovessi crearne una):
Names Default To Here(1);
replace_str = Function({str}, {Default Local},
aa_unicode = Associative Array();
aa_unicode["\sigma"] = "\!U03C3";
aa_unicode["\mu"] = "\!U03BC";
aa_unicode["\subscript1"] = "\!U2081";
aa_unicode["\subscript2"] = "\!U00B2";
aa_unicode["\subscript3"] = "\!U00B3";
aa_unicode["\subscript4"] = "\!U2074";
return(Substitute(str, aa_unicode << get keys, aa_unicode << get values));
);
dt = New Table("Untitled 3",
Add Rows(0),
New Column("kg/m\subscript2"),
New Column("\sigma*\mu"),
New Column("\subscript1\subscript3")
);
wait(2);
For Each({col_name}, dt << Get Column Names(String),
Column(dt, col_name) << Set Name(replace_str(col_name));
);
Re: Box-plot con punti allineati in box plus plot a violinoGRAZIE MOLTO MOLTO MOLTO
Giuseppe
Re: Box-plot con punti allineati in box plus plot a violinoHo trovato i codici su Wikipedia
print("18F-FDG\!U00B9\!U2078");
"18F-FDG¹⁸"
Re: Box-plot con punti allineati in box plus plot a violinoCaro Marco,
Peccato che in software come JMP ci siano questi problemi di perdita di tempo.
Pubblicare alcuni articoli che ti permettano di ridurre i tempi sarebbe un'ottima soluzione.
Giuseppe
Re: Box-plot con punti allineati in box plus plot a violinoGRAZIE MILLE,
consiglio molto utile e risolutivo.
Auguri
Giuseppe
PS 18F-FDG con 18 come esponente tra l'unicode non riesco a trovare la soluzione. sai come si fa?
Re: Box-plot con punti allineati in box plus plot a violinoSarebbe bello avere un modo più diretto per inserire caratteri speciali. Per il momento tengo uno script con stringhe commentate per i simboli che uso molto. Si risparmia un po' di fatica.
Re: Box-plot con punti allineati in box plus plot a violinoJMP supporta gli standard Unicode sia UTF-8 che UTF-16. Vedere la Guida agli script per ulteriori dettagli.Permette di incorporare questi caratteri speciali senza una gestione speciale.
JMP può anche stampare tali caratteri utilizzando la stringa di escape "\!" seguito dalla stringa Unicode.Quindi, per includere ciò che hai specificato come etichetta, aprirei una finestra di script e inserirei il seguente comando di stampa nella finestra
print("BMI (Kg / m\!U00B2)");
Dopo aver eseguito questa riga, quanto segue sarà nel registro, che potrai quindi tagliare e incollare nell'etichetta
"BMI (Kg / m²)"
Vorrei che ci fosse un percorso più diretto, ma non ne sono a conoscenza.I dettagli sul set completo di caratteri Unicode sono disponibili nella Guida allo scripting

Re: Box-plot con punti allineati in box plus plot a violinoGrazie per i vostri suggerimenti.
Mi piacerebbe sapere come visualizzare ad esempio gruppo al quadrato o 2 come pedici.
Oppure nell'esempio precedente visualizza l'altezza al quadrato.
Quindi, in generale, come visualizzare le etichette degli assi con apici o pedici.
Ad esempio se scrivo BMI (Kg/m^2) sull'asse delle ordinate come faccio a dire a JMP che "^2" è al quadrato evitando il simbolo ^?
Auguri
Re: Box-plot con punti allineati in box plus plot a violinoJMP utilizza il set di caratteri Unicode, che supporta special
caratteri come é e ½. Salva i file senza Unicode speciale
caratteri come testo normale automaticamente. Questa opzione è selezionata da
predefinito.
In altre parole, se si inseriscono tali caratteri Unicode speciali nella tabella dei dati, vengono visualizzati


Re: Box-plot con punti allineati in box plus plot a violinoGRAZIE MILLE,
grazie ai tuoi preziosi consigli ho finalmente raggiunto l'obiettivo.
A posteriori, la soluzione era semplice, ma a priori non avevo pensato a quello che hai scritto. Ti chiedo una curiosità: sai come mettere apice e pedice alle etichette delle variabili sull'asse x o sulle ordinate?
Ho notato che a JMP manca questa possibilità semplice ma comune.
Questa lacuna è piuttosto anomala data l'importanza di JMP.
Auguri
Giuseppe
Re: Box-plot con punti allineati in box plus plot a violinoTutto ciò che deve essere fatto per prendere la tabella dei dati così come la descrivi e passarla a Costruttore di grafici per creare la visualizzazione che desideri per impilare i dati e quindi eseguire Costruttore di grafici.Per illustrare, data la seguente tabella con 4 variabili continue (potrebbe avere tutte le variabili continue necessarie),

Uno usa e basta
Tabelle=>Impila
e impila tutte le colonne continue e si assicura anche che anche la colonna Gruppo venga trasportata

Ho anche rinominato la colonna dei dati in pila in misurazione e la colonna dell'etichetta di origine in variabile
Ora i dati risultanti possono essere utilizzati da Graph Builder per creare il grafico desiderato

Di seguito è riportato uno script che prima crea la tabella di dati di esempio da una delle tabelle di dati di esempio fornite da JMP, quindi impila i dati e infine utilizza Graph Builder per creare il grafico sopra
Names default to here(1);
// Create a sample data table that has multiple continuous variables with 2 groups
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
dt:Site << set name("Group");
dt << select where( :Group<=2 & :lot_id == "lot01" );
dt << invert row selection;
dt << delete rows;
dtSub = dt << Subset(
All rows,
columns( :Group, :NPN1, :NPN2, :NPN3, :NPN4 )
);
close(dt, nosave);
Wait(5); // Wait 5 seconds so one can see the initial data table
// Now just modify the data shape to set it up for Graph Builder to display the
// data as required
// First Stack all of the continuous variables into one column, and create a second
// column that indicates what column each row's value came from
dtStack = dtSub <<
Stack(
columns( :NPN1, :NPN2, :NPN3, :NPN4 ),
Source Label Column( "Variable" ),
Stacked Data Column( "Measurement" )
);
// Now graph the data placing the Variable and Group columns on the X axis and the
// Measurement column on the Y axis
// Also, remove the label from the Y axis
Graph Builder(
Size( 528, 458 ),
Show Control Panel( 0 ),
Variables(
X( :Variable ),
X( :Group, Position( 1 ) ),
Y( :Measurement ),
Color( :Group )
),
Elements(
Contour( X( 1 ), X( 2 ), Y, Legend( 14 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 13 ) ),
Points( X( 1 ), X( 2 ), Y, Legend( 15 ) )
),
SendToReport(
Dispatch( {}, "Y title", TextEditBox, {Set Text( "" )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg( Poly Seg( "Violin (NPN1>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN1>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN2>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN2>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN3>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN3>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN4>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN4>>2)" ), {Transparency( 0.5 )} )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {14, [3, 4], 13, [0, 1, 2, -3], 15, [5, 6]} )}
)
)
);
Re: Box-plot con punti allineati in box plus plot a violinoGrazie mille,
Ho provato la procedura, ma non funziona.
Voglio mettere più variabili continue sull'asse x contemporaneamente e ognuna di esse è divisa per 2 gruppi. Sull'asse y non ho variabili.
L'obiettivo è mostrare tutte le variabili insieme e confrontare ciascuna di esse con due gruppi.
Se facessi come mi hai consigliato posso mettere solo una variabile alla volta sull'asse delle ordinate perché se metto insieme tutte le variabili si ripresenterebbe il problema che i punti non si allineano nei box-plot; mentre voglio più variabili allo stesso tempo.
Giuseppe
Re: Box-plot con punti allineati in box plus plot a violinoTrascina sia la colonna X che la colonna Sovrapposizione sull'asse X, quindi prendi la colonna Sovrapposizione e spostala nell'area di rilascio Colore.
