<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sono curioso di vedere se c'è un modo migliore per fare lo script che è qui sotto. Attualmente ho una funzione prendere l'input dall'utente e fare una lista di tutti i possibili valori Y per il grafico oi grafici da seguire. Quindi viene chiamata la seguente funzione per creare i grafici. Vorrei sapere se c'è un modo in cui potrei ridurre drasticamente la quantità di codice necessaria in qualche modo usando uno o due builder di grafici invece delle 6 se istruzioni contenenti i propri costruttori di grafici
HALTbuildGraph = Funzione ({} , { tempcol = "" , vibcol = "" } ,
Se ( N articoli ( LogCheckBox << Ottieni selezionato ()) == 1 , // se i file di registro sono stati importati
per ( io = 1 , io <= n Col () , io ++,
Se ( contiene ( carbonizzare ( nome della colonna ( io )) , "Temp" ) & contiene ( carbonizzare ( nome della colonna ( io )) , "Setpoint" ) ,
tempcol = carbonizzare ( nome della colonna ( io )) ,
/ * altro se * / contiene ( carbonizzare ( nome della colonna ( io )) , "Vib" ) & contiene ( carbonizzare ( nome della colonna ( io )) , "Setpoint" ) ,
vibcol = carbonizzare ( nome della colonna ( io )) ;
) ;
) ;
Se ( tempcol == "" , // se la colonna del setpoint di temperatura non è stata trovata.
stampare ( "Errore 111a: setpoint di temperatura non trovato" ) ;
gettare ()
) ;
Se ( vibcol == "" , // se la colonna Setpoint vibrazione non è stata trovata.
stampare ( "Errore 111b: Vibration Setpoint not found" ) ;
gettare () ;
) ;
Se ( N articoli ( graphlist ) == 1 ,
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 1 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 1 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ,
/ * altro se * / N articoli ( graphlist ) == 2 ,
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 1 ]) ) ,
Y ( colonna ( graphlist [ 2 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 4 ) ,
Linea ( X , Y , Leggenda ( 30 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 1 ] || "&" || graphlist [ 2 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ,
/ * altro se * / N articoli ( graphlist ) == 3 ,
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 1 ]) ) ,
Y ( colonna ( graphlist [ 2 ]) ) ,
Y ( colonna ( graphlist [ 3 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 4 ) ,
Linea ( X , Y , Leggenda ( 30 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 5 ) ,
Linea ( X , Y , Leggenda ( 31 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 1 ] || "," || graphlist [ 2 ] || ", &" || graphlist [ 3 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ,
/ * altro se * / N articoli ( graphlist ) == 4 ,
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 1 ]) ) ,
Y ( colonna ( graphlist [ 2 ]) ) ,
Y ( colonna ( graphlist [ 3 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 4 ) ,
Linea ( X , Y , Leggenda ( 30 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 5 ) ,
Linea ( X , Y , Leggenda ( 31 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 1 ] || "," || graphlist [ 2 ] || ", &" || graphlist [ 3 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ;
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 4 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 4 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ,
/ * altro se * / N articoli ( graphlist ) == 5 ,
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 1 ]) ) ,
Y ( colonna ( graphlist [ 2 ]) ) ,
Y ( colonna ( graphlist [ 3 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 4 ) ,
Linea ( X , Y , Leggenda ( 30 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 5 ) ,
Linea ( X , Y , Leggenda ( 31 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 1 ] || "," || graphlist [ 2 ] || ", &" || graphlist [ 3 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ;
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 4 ]) ) ,
Y ( colonna ( graphlist [ 5 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 4 ) ,
Linea ( X , Y , Leggenda ( 30 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 4 ] || "&" || graphlist [ 5 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ,
/ * altro se * / N articoli ( graphlist ) == 6 ,
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 1 ]) ) ,
Y ( colonna ( graphlist [ 2 ]) ) ,
Y ( colonna ( graphlist [ 3 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 4 ) ,
Linea ( X , Y , Leggenda ( 30 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 5 ) ,
Linea ( X , Y , Leggenda ( 31 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 1 ] || "," || graphlist [ 2 ] || ", &" || graphlist [ 3 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ;
gb = Costruttore di grafici (
variabili (
X ( : Tempo di prova ) ,
Y ( colonna ( tempcol ) ) ,
Y ( colonna ( vibcol ) ) ,
Y ( colonna ( graphlist [ 4 ]) ) ,
Y ( colonna ( graphlist [ 5 ]) ) ,
Y ( colonna ( graphlist [ 6 ]) )
) ,
Elementi (
Posizione ( 1 , 1 ) ,
Linea ( X , Y , Leggenda ( 27 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 2 ) ,
Linea ( X , Y , Leggenda ( 28 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 3 ) ,
Linea ( X , Y , Leggenda ( 29 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 4 ) ,
Linea ( X , Y , Leggenda ( 30 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
Elementi (
Posizione ( 1 , 5 ) ,
Linea ( X , Y , Leggenda ( 31 ) , Ordine di fila ( 0 ) , Statistica sommaria ( "Significare" ) )
) ,
SendToReport (
Spedizione ({} , "titolo grafico" , Casella di modifica del testo , { Imposta testo ( graphlist [ 4 ] || "&" || graphlist [ 5 ])}) ;
) ;
) ;
gb_rpt = rapporto ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << Elimina ;
gb_rpt [ PictureBox ( 1 )] << Finestra del diario ;
gb << chiudi la finestra ( nosave ) ;
) ,
Continua ma penso che ottieni l'immagine ...
Fondamentalmente, ho provato a usare le istruzioni if nella sezione Variables del graph builder, ma a JMP non sembra affatto piaciuto. Sto solo cercando un modo per abbreviare il mio codice e renderlo più facile da leggere.
Grazie ancora per aver condiviso quell'esempio e quei comandi. Ecco come appare il codice sopra ora. Direi che è molto meglio di quanto non sia.
HALTbuildGraph = Funzione ({} , { tempcol = "" , vibcol = "" } , // 11
Se ( N articoli ( LogCheckBox << Ottieni selezionato ()) == 1 , // se i file di registro sono stati importati
per ( io = 1 , io <= n Col () , io ++,
Se ( contiene ( carbonizzare ( nome della colonna ( io )) , "Temp" ) & contiene ( carbonizzare ( nome della colonna ( io )) , "Setpoint" ) ,
tempcol = carbonizzare ( nome della colonna ( io )) ,
/ * altro se * / contiene ( carbonizzare ( nome della colonna ( io )) , "Vib" ) & contiene ( carbonizzare ( nome della colonna ( io )) , "Setpoint" ) ,
vibcol = carbonizzare ( nome della colonna ( io )) ;
) ;
) ;
Se ( tempcol == "" , // se la colonna del setpoint di temperatura non è stata trovata.
stampare ( "Errore 111a: setpoint di temperatura non trovato" ) ;
gettare ()
) ;
Se ( vibcol == "" , // se la colonna Setpoint vibrazione non è stata trovata.
stampare ( "Errore 111b: Vibration Setpoint not found" ) ;
gettare () ;
) ;
gb_expr = evalinsert ( "\ [
gb = Graph Builder (
variabili (
X (: tempo di prova),
Y (colonna (tempcol)),
Y (colonna (vibcol)),
] \" ) ;
per ( io = 1 , io <= N articoli ( graphlist ) & io <= 3 , io ++,
Se ( io == N articoli ( graphlist ) | io == 3 ,
gb_expr = gb_expr || evalinsert ( "\ [
Y (graphlist [^ i ^])
),
] \" ) ,
/*altro*/
gb_expr = gb_expr || evalinsert ( "\ [
Y (lista grafica [^ i ^]),
] \" ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
Elementi(
Posizione (1, 1),
Linea (X, Y, Legenda (27), Ordine fila (0), Statistica riassuntiva ("Media"))
),
Elementi(
Posizione (1, 2),
Linea (X, Y, Legenda (28), Ordine fila (0), Statistica riassuntiva ("Media"))
),
] \" ) ;
per ( io = 1 , io <= N articoli ( graphlist ) & io <= 3 , io ++,
gb_expr = gb_expr || evalinsert ( "\ [
Elementi(
Posizione (1, 2 + ^ i ^),
Linea (X, Y, Legenda (28 + ^ i ^), Ordine delle righe (0), Statistica riassuntiva ("Media"))
),
] \" ) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
SendToReport (
Dispatch ({}, "titolo grafico", casella di modifica del testo, {imposta testo (lista grafica [1]
] \" ) ;
Se ( N articoli ( graphlist ) == 1 ,
gb_expr = gb_expr || evalinsert ( "\ [)});
);
] \" ) ;
) ;
per ( io = 2 , io <= N articoli ( graphlist ) & io <= 3 , io ++,
Se ( io == N articoli ( graphlist ) | io == 3 ,
gb_expr = gb_expr || evalinsert ( "\ [||", & "|| graphlist [^ i ^])});
);
] \" ) ,
/*altro*/
gb_expr = gb_expr || evalinsert ( "\ [||", "|| graphlist [^ i ^]
] \" ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
);
gb_rpt = report (gb);
gb_rpt [LegendBox (1)] << elimina;
gb_rpt [PictureBox (1)] << Finestra del diario;
gb << chiudi finestra (nosave)
] \" ) ;
eval ( analizzare ( gb_expr )) ;
Se ( N articoli ( graphlist ) > 3 ,
gb_expr = evalinsert ( "\ [
gb = Graph Builder (
variabili (
X (: tempo di prova),
Y (colonna (tempcol)),
Y (colonna (vibcol)),
] \" ) ;
per ( io = 4 , io <= N articoli ( graphlist ) , io ++,
Se ( io == N articoli ( graphlist ) ,
gb_expr = gb_expr || evalinsert ( "\ [
Y (graphlist [^ i ^])
),
] \" ) ,
/*altro*/
gb_expr = gb_expr || evalinsert ( "\ [
Y (lista grafica [^ i ^]),
] \" ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
Elementi(
Posizione (1, 1),
Linea (X, Y, Legenda (27), Ordine fila (0), Statistica riassuntiva ("Media"))
),
Elementi(
Posizione (1, 2),
Linea (X, Y, Legenda (28), Ordine fila (0), Statistica riassuntiva ("Media"))
),
] \" ) ;
per ( io = 4 , io <= N articoli ( graphlist ) , io ++,
gb_expr = gb_expr || evalinsert ( "\ [
Elementi(
Posizione (1, 2 + ^ i ^ -3),
Linea (X, Y, Legenda (28 + ^ i ^ -3), Ordine delle righe (0), Statistica riassuntiva ("Media"))
),
] \" ) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
SendToReport (
Dispatch ({}, "titolo grafico", casella di modifica del testo, {imposta testo (lista grafica [4]
] \" ) ;
Se ( N articoli ( graphlist ) == 4 ,
gb_expr = gb_expr || evalinsert ( "\ [)});
);
] \" ) ;
) ;
per ( io = 5 , io <= N articoli ( graphlist ) , io ++,
Se ( io == N articoli ( graphlist ) ,
gb_expr = gb_expr || evalinsert ( "\ [||", & "|| graphlist [^ i ^])});
);
] \" ) ,
/*altro*/
gb_expr = gb_expr || evalinsert ( "\ [||", "|| graphlist [^ i ^]
] \" ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
);
gb_rpt = report (gb);
gb_rpt [LegendBox (1)] << elimina;
gb_rpt [PictureBox (1)] << Finestra del diario;
gb << chiudi finestra (nosave)
] \" ) ;
eval ( analizzare ( gb_expr )) ;
) ,