come ordinare l'asse x in base a un altro valore di colonnaAd esempio, ho 3 colonne:
Nome Età Punteggio:
Giasone 21 98
Alice 19 67
Davide 36 89
Giovanni 28 70
Vorrei tracciare x: nome e Y: punteggio, ma voglio anche ordinare l'asse X (nomi) in base alla loro età.
Grazie mille per l'aiuto!
Ri: come ordinare l'asse x in base a un altro valore di colonnaPenso che la creazione di una colonna concat farà il trucco come segue
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
dt << New Column("lotID by Site", Character, Formula(char(:SITE)||"_"||:lot_id) );
// Set value ordering to :name after mean :age
Summarize( g = by( :Name("lotID by Site") ), m = Mean( :PNP1 ) );
:Name("lotID by Site") << Set Property( "Value Ordering", Eval( g[Rank Index( m )] ) );
// Variability chart with names grouped by sex ordered after age
Variability Chart(Y(:NPN1), X(:Name("lotID by Site")), by (:SITE));se qualcuno può condividere una soluzione più elegante lo apprezzerò.
Ri: come ordinare l'asse x in base a un altro valore di colonnaSiamo spiacenti, l'esempio del gruppo Sex non è così buono poiché ha pochi (o nessuno) nomi simili su ciascun gruppo.
ecco lo stesso esempio basato sulla tabella dei semiconduttori:
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
// Set value ordering to :name after mean :age
Summarize( g = by( :lot_id ), m = Mean( :PNP1 ) );
:lot_id << Set Property( "Value Ordering", Eval( g[Rank Index( m )] ) );
// Variability chart with names grouped by sex ordered after age
Variability Chart(Y(:NPN1), X(:SITE, :lot_id));risulta con il grafico Var sottostante (tutti i SITI hanno lo stesso ordine lot_id) - il che credo sia sbagliato.
Come posso tracciare l'ordine lot_id di PNP1 per ogni SITE nel grafico Var usando jsl.
Spero di aver reso più chiara la mia richiesta.
Preferisco usare
Variability Chart(Y(:NPN1), X(:SITE), By (:lot_id));
e non
Variability Chart(Y(:NPN1), X(:SITE, :lot_id));
Inoltre, l'affermazione che posso farlo usando il costruttore di grafici dal mio precedente replay qui è sbagliata, lo vedo ora.
Grazie.


Ri: come ordinare l'asse x in base a un altro valore di colonnaNon sono sicuro di aver capito di cosa hai bisogno, ma lo stesso approccio può essere utilizzato per il grafico della variabilità. Se raggruppati in base a una variabile aggiuntiva, l'ordinamento dei valori deve essere applicato correttamente all'interno di ciascun gruppo.
Ecco un esempio basato sulla tabella di esempio Big Class:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Set value ordering to :name after mean :age
Summarize( g = by( :name ), m = Mean( :age ) );
:Name << Set Property( "Value Ordering", Eval( g[Rank Index( m )] ) );
// Variability chart with names grouped by sex ordered after age
Variability Chart(Y(:height), X(:sex, :name));
Ri: come ordinare l'asse x in base a un altro valore di colonnaCiao ragazzi,
Qualche idea su come posso usare il suggerimento ms per gruppo?
per l'esempio sopra, diciamo che mi piace tracciare il senso unico per papero.
Posso farlo con il generatore di grafici ma mi piace usare il grafico di variabilità.
Oneway(Y(:Name("Score:")), X(:Name), By(:Name("Gander"));//With Graph Builder
Graph Builder(
Size( 800, 500),
Variables(
X( :name, Order By( :age, Ascending, Order Statistic( "Mean" ) ),
....
Group X( :Gender, N View Levels( 2 ), First View Level( 2 ) ),
...
Ri: come ordinare l'asse x in base a un altro valore di colonnaGrazie! Funziona!
Ri: come ordinare l'asse x in base a un altro valore di colonnaPenso che la proprietà della colonna "Value Ordering" sia ciò di cui hai bisogno. Può essere impostato manualmente utilizzando la finestra di dialogo della colonna o con jsl (esempio sotto).
// Example Table
New Table("test",
Add Rows(4),
New Column("Name",
Character,
Set Values({"Jason", "Alice", "Dave", "John"})
),
New Column("Age",
Set Values([21, 19, 36, 28])
),
New Column("Score:",
Set Values([98, 67, 89, 70])
)
);
// Plot Score by Age
Oneway(Y(:Name("Score:")), X(:Name));
// Set value ordering to Name after mean Age
Summarize( g = by( :Name ), m = Mean( :Age ) );
:Name << Set Property( "Value Ordering", Eval( g[Rank Index( m )] ) );
// Plot again!
Oneway(Y(:Name("Score:")), X(:Name));Ri: come ordinare l'asse x in base a un altro valore di colonnaQuando si utilizza il Costruttore di grafici, è sufficiente trascinare la variabile in base alla quale si desidera ordinare l'asse nell'area Ordina per dell'asse, come mostrato di seguito

Oppure puoi ordinare la tabella dei dati in base alla variabile di ordinamento (età), quindi impostare la proprietà della colonna, i livelli dell'ordine di riga per il nome della colonna e quindi l'ordine utilizzato per l'asse della variabile nome sarà l'ordine in cui i nomi si trovano nel tabella dati.