Graph Builder: collega un sottoinsieme di punti con segmenti di linea e mostra solo i marcatori per gli altri puntiCiao,
Sto cercando di usare Graph Builder per collegare un sottoinsieme di punti con segmenti di linea e mostrare solo i marcatori per gli altri punti. In modo che il mio grafico abbia un aspetto simile a questo (le linee qui sono state aggiunte manualmente in un'immagine a scopo illustrativo):

Ho provato a utilizzare una colonna separata per sfruttare la funzionalità di sovrapposizione e in effetti permette di tracciare linee separate per gruppi di punti separati. Tuttavia, non sono riuscito a rimuovere le linee e lasciare solo i marcatori (o viceversa) per un singolo gruppo di punti.
Nella tabella JMP ho inserito i punti che devono essere collegati da una linea come 4 punti separati. Idealmente, l'ultimo di questi 4 punti dovrebbe essere collegato al primo di questi 4 punti.
Il file JMP (JMP 18, versione normale, non PRO) è allegato.
Ogni suggerimento o commento sarà molto apprezzato.
Grazie!
Vladimir
Esplorazione e visualizzazione dei datiRe: Graph Builder: collega un sottoinsieme di punti con segmenti di linea e mostra solo i marcatori per gli altri punti
L'ho prodotto in modo interattivo
- Ho aggiunto un'ulteriore riga sovrapposta alla tabella dati per aggiungere la linea di collegamento per terminare dove è iniziata

- Ho quindi trascinato la colonna Overlay_column nella casella a discesa del colore
- Ho poi aggiunto una linea al grafico che mostrava 2 linee

- Non volevo la linea nera, quindi ho semplicemente impostato il colore della linea nera su bianco

- Questo ha lasciato i marcatori per i punti relativi ai dati non sovrapposti con un aspetto strano. Questo perché la precedente linea nera viene visualizzata sopra i punti.
- Per spostare i punti neri da visualizzare sopra le linee ora bianche (invisibili all'utente), ho fatto clic con il pulsante destro del mouse sul grafico e ho selezionato Personalizza

- Ho quindi selezionato il marcatore 0 e, utilizzando la freccia in basso, ho spostato il marcatore nero verso il basso oltre la linea (0)

- Che ha prodotto il grafico finale

Ecco il JSL che genererà il grafico
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Ex ),
Y( :Gxy ),
Overlay( :overlay_column ),
Color( :overlay_column )
),
Elements(
Points( X, Y, Legend( 5 ) ),
Line( X, Y, Legend( 6 ), Row order( 1 ) )
),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
5,
Properties(
0,
{Line Color( 0 ), Marker( "FilledCircle" )},
Item ID( "0", 1 )
),
Properties( 1, {Marker( "Circle" )}, Item ID( "1", 1 ) )
), Legend Model(
6,
Properties( 0, {Line Color( 2 )}, Item ID( "0", 1 ) )
)}
),
Dispatch( {}, "Graph Builder", FrameBox, {Reorder Segs( {1, 2, 5, 6} )} )
)
);
Esistono altri modi per gestire questo problema. Ecco un metodo JSL semplice che utilizza "Aggiungi script grafico" per disegnare la linea.

Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :Ex ), Y( :Gxy ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Gxy", ScaleBox,
{Min( 0.781114518510881 ), Max( 3.84890945699133 ), Inc( 0.5 ),
Minor Ticks( 0 )}
),
Dispatch( {}, "Graph Builder", FrameBox,
{Add Graphics Script(
2,
Description( "" ),
Pen Color( "Red" );
Line( {5, 1}, {5.5, 3.5}, {10, 3}, {11, 1.5}, {5, 1} );
)}
)
)
);
Non sono necessarie colonne e righe sovrapposte
Re: Graph Builder: collega un sottoinsieme di punti con segmenti di linea e mostra solo i marcatori per gli altri puntiCiao @VladimirB ,
Potrei ottenere qualcosa di simile a quello che desideri, ma questo approccio è davvero macchinoso, perché devi davvero ordinare le righe per assicurarti che i punti si colleghino come desideri. Quindi, a questo punto, non è che ti limiteresti a selezionare i punti e a creare una bella forma chiusa. Tuttavia, poiché i tuoi dati sono ordinati correttamente nel tuo esempio, questo fa esattamente quello che vuoi.

Ho creato due nuove colonne (colonna 4 e colonna 5) che restituivano solo i valori delle righe selezionate, quindi ho aggiunto una riga fittizia alla fine che consentiva alla colonna 4 e alla colonna 5 di restituire il valore più basso selezionato, chiudendo così la forma.


Ho aggiunto la colonna 4 come secondo asse Y e la colonna 5 come secondo asse X e ho fatto in modo che l'elemento punto rispettasse solo Gxy ed Ex e che l'elemento linea rispettasse solo Col4 e Col5 in ordine di riga.
Quindi, come ho detto, è un po' macchinoso, ma ti porta al punto e potrebbe ispirare te o un altro utente a creare qualcosa di ancora migliore!
Steve
Re: Graph Builder: collega un sottoinsieme di punti con segmenti di linea e mostra solo i marcatori per gli altri puntiCiao @VladimirB ,
Volevo creare qualcosa di interattivo per creare punti collegati, come quello che chiedevi, quindi ho creato questo script per poter collegare i punti in modo interattivo. In allegato trovi uno script che puoi usare per selezionare punti e collegarli tramite segmenti di linea.
Quando lo esegui, ti chiederà quali colonne utilizzare come colonne degli assi Y e x

Quando premi OK verranno create tre colonne e poi apparirà una nuova finestra:

A questo punto puoi eseguire lo script della tabella

che ti dà questo

Ora puoi selezionare un punto e poi cliccare su "imposta valore" nella finestra dell'interfaccia utente

puoi quindi selezionare un nuovo punto e premere nuovamente il pulsante "imposta valore" per collegare i due punti

continua così finché non hai selezionato tutti i punti

Una volta selezionati tutti i punti fare clic sul pulsante "Fine" per collegare la linea al punto di partenza

Se hai perso un punto puoi selezionarlo e premere "Imposta valore", il che lo farà sembrare incasinato per un secondo

Ma puoi usare il pulsante "Inserisci punto intermedio" per correggerlo. In questo caso, il punto 8 dovrebbe essere dopo il punto 5, quindi quando clicchi sul pulsante inserirai il 5 e premerai OK.

e Bam! i punti vengono riordinati

Se devi ricominciare premi il pulsante "Cancella valori"
Spero che questo sia d'aiuto! Inoltre, sono sicuro che non sia robusto per molti utilizzi diversi, quindi è molto probabile che, al di fuori del flusso di lavoro che ho appena mostrato, ci sia un bug.
Ciao @hogi ,
Sono sicuro che potresti rendere questa cosa molto più utile di quanto ho fatto io.
Steve
Re: Graph Builder: collega un sottoinsieme di punti con segmenti di linea e mostra solo i marcatori per gli altri puntiGrazie mille, TXNELSON!
Hai fornito un'ottima soluzione! Con uno script fantastico! La proverò sicuramente!
Apprezzo molto la tua risposta rapida e dettagliata con tutte le linee guida!
~ Vladimir
Re: Graph Builder: collega un sottoinsieme di punti con segmenti di linea e mostra solo i marcatori per gli altri puntiGrazie mille, SHAMPTON82!
Hai fornito una soluzione davvero ottima! La proverò.
Apprezzo molto la tua risposta rapida e dettagliata con tutte le linee guida!
E hai anche trovato una soluzione interattiva!
Per me è molto istruttivo!
Grazie!
~ Vladimir