La funzione Line () disegna una linea all'interno di un grafico e può far parte di uno script grafico. Per aggiungere molte righe in modo iterativo è più sicuro lavorare con una rappresentazione di stringa dello script grafico e analizzarlo in ogni iterazione. L'esempio JSL qui sotto potrebbe darti qualche idea.
// Tabella di esempio con vendite tra quattro città e le loro coordinate.
dt = Nuova tabella ( "LinesBetweenCities.jmp" ,
Aggiungi righe ( 10 ) ,
Nuova colonna ( "Città" ,
Personaggio ,
Imposta valori (
{ "Cleveland, Ohio" , "Cleveland, Ohio" , "Cleveland, Ohio" , "Cleveland, Ohio" , "Des Moines, Iowa" , "Des Moines, Iowa" , "Des Moines, Iowa" ,
"Los Angeles, California". , "Los Angeles, California". , "Montgomery, Ala." }
)
) ,
Nuova colonna ( "N" , Numerico , Formato ( "Migliore" , 12 ) , Imposta valori ( [ 41,467 , 41,467 , 41,467 , 41,467 , 41,583 , 41,583 , 41,583 , 34.05 , 34.05 , 32.35 ] ) ) ,
Nuova colonna ( "W" ,
Numerico ,
Formato ( "Migliore" , 12 ) ,
Imposta valori ( [ - 81,617 , - 81,617 , - 81,617 , - 81,617 , - 93,617 , - 93,617 , - 93,617 , - 118.25 , - 118.25 , - 86,3 ] )
) ,
Nuova colonna ( "I saldi" , Numerico , Continuo , Formato ( "Migliore" , 12 ) , Formula ( Il giro ( Uniforme casuale () , 2 ) ) ) ,
Nuova colonna ( "Con" ,
Personaggio ,
Nominale ,
Imposta valori (
{ "Cleveland, Ohio" , "Des Moines, Iowa" , "Los Angeles, California". , "Montgomery, Ala." , "Des Moines, Iowa" , "Los Angeles, California". ,
"Montgomery, Ala." , "Los Angeles, California". , "Montgomery, Ala." , "Montgomery, Ala." }
)
) ,
Imposta stati riga ( [ 8 , 0 , 0 , 0 , 8 , 0 , 0 , 8 , 0 , 8 ] ) ,
Imposta colonne di etichette ( : Città )
) ;
gb = Costruttore di grafici (
variabili ( X ( : W ) , Y ( : N ) ) ,
Elementi ( Punti ( X , Y , Leggenda ( 1 ) ) ) ,
SendToReport (
Spedizione (
{} ,
"Costruttore di grafici" ,
framebox ,
{ Mappa di sfondo ( confini ( "Stati USA" ) ) , Dimensioni dell'indicatore ( 6 ) , Grid Line Order ( 2 ) , Ordine della linea di riferimento ( 3 ) ,
DispatchSeg (
ShapeSeg ( 1 ) ,
{ Colore della linea ( { 204 , 204 , 204 } ) , Colore di riempimento ( "Nessuna" ) , Riempimento di forma mancante ( 2147483647 ) , Riempimento del valore mancante ( - 14540253 )}
)}
)
)
) ;
fb = rapporto ( gb ) [ framebox ( 1 )] ;
// Rappresentazione in serie dello script che disegna una linea
line_string =
"fb << aggiungi uno script di grafica (3, Pen Color ({.3, .5, .7});
Dimensione penna (^ round (10 *: Vendite , 0) ^);
Linea ({^: W ^, ^: N ^}, {^: W [coord] ^, ^: N [coord] ^})
)" ;
// Aggiungi script grafici che disegnano linee tra ogni coppia di città. La dimensione della penna dipende dalle vendite.
Per ( io = 1 , io <= N Row ( dt ) , io ++,
coord = ( dt << getrows dove ( : con [ io ] == : Città )) [ 1 ] ; // ottiene le coordinate della città nella colonna With
Eval ( analizzare ( Eval Insert ( line_string ) ) ) ; // valuta le variabili all'interno di line_str e analizza il testo in jsl funzionante
) ;