evidenziando i marcatori di righe particolari nella trama bivariataCIAO
Cercando di evidenziare i marcatori di righe particolari nella trama bivariata.
Ho creato manualmente la trama, salvato la finestra dello script e selezionato manualmente la colonna "Tema" come legenda della riga.
Ma il problema è che non vedo i passaggi sopra nello script quando l'ho guardato!
Ecco cosa intendo
dt = Open( "$sample_data/Hollywood Movies.jmp" );
dt = currentdatatable(); // Don't know I need this here anyway
Bivariate(
Y( :Domestic Gross ),
X( :Foreign Gross ),
Fit Where( :Genre == "Action", Fit Line( {Line Color( {212, 73, 88} )} ) ),
Fit Where(
:Genre == "Adventure",
Fit Line(
{Line Color( {61, 174, 70} )},
{Set α Level( 4.06068261874589e-315 )}
)
),
Fit Where( :Genre == "Animation", Fit Line( {Line Color( {66, 112, 221} )} ) ),
Fit Where( :Genre == "Comedy", Fit Line( {Line Color( {204, 121, 41} )} ) ),
Fit Where( :Genre == "Drama", Fit Line( {Line Color( {40, 182, 143} )} ) ),
Fit Where( :Genre == "Fantasy", Fit Line( {Line Color( {162, 43, 221} )} ) ),
Fit Where( :Genre == "Horror", Fit Line( {Line Color( {196, 189, 43} )} ) ),
Fit Where( :Genre == "Romance", Fit Line( {Line Color( {39, 174, 174} )} ) ),
Fit Where( :Genre == "Thriller", Fit Line( {Line Color( {197, 41, 201} )} ) ),
SendToReport( // What does this mean here ? Why we need this ?
Dispatch( // What does this mean here ? why we need this ?
{},
"Bivar Plot",
FrameBox,
{Frame Size( 377, 299 ), Row Legend(
Theme,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 1 ),
Marker Theme( "Standard" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);che crea

Quello che voglio fare è controllare quale colonna deve essere una legenda di riga ed evidenziare le righe in quella colonna. Qualcosa come questo

Sono sicuro che questo non esiste nel manuale.
Ri: evidenziare i marcatori di righe particolari nella trama bivariataNames Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 15 ),
New Column( "sex",
Character,
"Nominal",
Set Values(
{"F", "F", "F", "F", "F", "M", "M", "M", "F", "F", "F", "M", "M", "M",
"M"}
)
),
New Column( "height",
Numeric,
"Continuous",
Format( "Best", 10 ),
Set Values( [59, 61, 55, 66, 52, 60, 61, 51, 60, 61, 56, 65, 63, 58, 59] )
),
New Column( "weight",
Numeric,
"Continuous",
Format( "Best", 10 ),
Set Values(
[95, 123, 74, 145, 64, 84, 128, 79, 112, 107, 67, 98, 105, 95, 79]
)
),
Set Row States(
[192, 193, 193, 193, 193, 32833, 32833, 32832, 192, 192, 192, 32832, 32832,
32832, 32832]
)
);
// Here is the Bivariate Platform. It will honor the rowstates
// I have provided some selections, etc. but you can change them
// to whatever selections you want
Bivariate(
Y( :height ),
X( :weight ),
Fit Where( :sex == "F", Fit Line( {Line Color( "Medium Dark Red" )} ) ),
Fit Where( :sex == "M", Fit Line( {Line Color( "Medium Dark Blue" )} ) )
);
// Here is the code to create the new rowstate column
// But it can easily be done manually by just creating a new
// column, and then going to the Col Info window, and setting the
// data type to Row State
dt << New Column( "The RowStates", rowstate );
// This is the command that copies the rowstates from the
// rowstate column, to the new column called The RowStates<BR />// To do this interactively just go to the column panel and<BR />// right click on the red star in front of the new column<BR />// and select "Copy From Rowstates"
dt:The RowStates << copy from rowstates;
// dt:The RowStates << Hide(1); // This will hide the column from view
// The rest is manual(interactive);
// Go to the red triangle on the Bivariate output and select
// Save Script==>To Data Table
// Once it is saved, Go to the green triangle in front of the script that was just
// saved to the data table. Right click on the green triangle and select Edit
// Now add the following line as the first line
// :The RowStates << Copy to Row states;
// Make sure you remove the // from the front of the line
// Now, whenever you run the script, the row states from when you created the graph
// will be applied before the graph is createdRi: evidenziare i marcatori di righe particolari nella trama bivariataGrazie per la lunga spiegazione. Davvero molto utile. Mi è piaciuta la parte" che stai pensando che sia il grafico a evidenziare i punti (marcatori).Ma ahimè, è la tabella dei dati che controlla l'evidenziazione. " Questa è un'ottima spiegazione
OTH, la domanda con il punto 2) come farlo? Per te, con anni di esperienza, solo un secondo per metterlo in jsl, ma per me ci vorrebbe una settimana per scoprire cosa intendevi veramente lì o come metterlo in azione. Vorrei che pubblicassi qualche script per dimostrare il tuo processo di pensiero, così forse anche altri ne trarranno beneficio;)
Ri: evidenziare i marcatori di righe particolari nella trama bivariataL'evidenziazione di marcatori specifici (punti) su un grafico e la successiva dissolvenza dei marcatori rimanenti è effettivamente collegata alla tabella dati e alle righe selezionate in una tabella dati. Se vai a una tabella dati in cui è stato creato un grafico a dispersione bivariato dalle sue colonne e selezioni una delle righe nella tabella dati, il punto nel grafico bivariato verrà evidenziato e tutti gli altri punti verranno sbiaditi.Questo comportamento, consistente nella selezione di una o più righe in una tabella di dati e nell'evidenziazione di tali righe in tutti i grafici associati alla tabella di dati, è uno dei principi fondamentali di JMP.Quindi, il comportamento che vedi, quando fai clic su una legenda specifica nel grafico, o su un gruppo di punti (marcatori) in un grafico, in realtà non indica al grafico di evidenziare quei punti, ma in realtà lo è dicendo alla tabella dati di selezionare righe specifiche nella tabella dati, ed è quindi quell'azione nella tabella dati, che dice a tutti i grafici correlati di evidenziare i punti nei grafici che rappresentano i dati delle righe selezionate.Questo comportamento riguarda JMP sin dal suo inizio.Ora, perché ho impiegato tutto quel tempo per dirtelo?Bene, la tua descrizione della tua non comprensione del motivo per cui i punti dati evidenziati non vengono catturati nello script salvato, mi ha fatto capire che stai pensando che sia il grafico a evidenziare i punti (marcatori).Ma ahimè, è la tabella dei dati che controlla l'evidenziazione.Detto questo, un modo per far sì che il grafico abbia l'evidenziazione desiderata è selezionare le righe nella tabella dati che è necessario selezionare per rendere gli indicatori evidenziati, quindi salvare la tabella dati.La selezione della riga nella tabella dati verrà salvata e, una volta aperta e eseguito lo script per il grafico, verrà visualizzato il grafico come desiderato.Questa in genere non è la soluzione preferita.Altri tre metodi per gestire quali indicatori devono essere evidenziati sono solitamente scelte migliori.
- Aggiungi manualmente il codice allo script, che seleziona specificamente la riga o le righe desiderate;
- Crea una nuova colonna del tipo di dati "rowstate", imposta le selezioni della tabella dati, i marcatori, ecc. come ti servono per visualizzare come desideri che il grafico venga visualizzato, quindi salva i Rowstates nel nuovo colonna stato riga.Quindi, ciò che fai è aggiungere l'istruzione nello script salvato, che copia i valori rowstate desiderati dalla colonna rowstate ai rowstates per la tabella dati, quindi generare il grafico.
- Utilizza un filtro dati locale per le selezioni delle righe.Il filtro locale non seleziona fisicamente le righe nella tabella dati.Fornisce invece un ambiente di selezione virtuale per la piattaforma specifica, che agisce proprio come se fosse stata selezionata nella tabella dati stessa.Il filtro dati locale viene salvato in uno script salvato.
Spero che questo abbia senso.Se ti lascia con altre domande, chiedile.