Userei una struttura di programmazione migliore per realizzare ciò che stai cercando.Le linee di riferimento possono essere applicate direttamente al grafico modificando l'oggetto o gli oggetti dell'asse nell'output del display.Vedi sotto:
gb = Graph Builder(
Size( 528, 457 ),
Show Control Panel( 0 ),
Variables( X( :Column (3) ), Y( :Column (4) ) ),
Elements( Points( X, Y, Legend( 3 ) )));
gbr = report(gb);
gbr[AxisBox(1)] << Add Ref Line( _LSL1_, "Solid", "Black", "xLSL", 1 );
gbr[AxisBox(1)] << Add Ref Line( _USL2_, "Solid", "Black", "xUSL", 1 );
gbr[AxisBox(2)] << Add Ref Line( _LSL2_, "Solid", "Black", "yLSL", 1 );
gbr[AxisBox(2)] << Add Ref Line( _USL2_, "Solid", "Black", "yUSL", 1 );
I dettagli su come modificare l'output dell'albero di visualizzazione sono disponibili nella Guida allo scripting.Tutti i messaggi che possono essere inviati agli oggetti di visualizzazione sono elencati con definizioni ed esempi nello Scripting Index.
Il primo caso funziona bene ma il secondo caso in cui i nomi degli assi vengono forniti dall'esterno non funziona, dove sbaglio?
Graph Builder(
Size( 528, 457 ),
Show Control Panel( 0 ),
Variables( X( :Column (3) ), Y( :Column (4) ) ),
Elements( Points( X, Y, Legend( 3 ) )),
SendToReport(
Dispatch(
{},
"Median 1",
ScaleBox,
{Add Ref Line( _LSL1_, "Solid", "Black", "xLSL", 1 ),
Add Ref Line( _USL2_, "Solid", "Black", "xUSL", 1 )}
),
Dispatch(
{},
"Median 2",
ScaleBox,
{Add Ref Line( _LSL2_, "Solid", "Black", "yLSL", 1 ),
Add Ref Line( _USL2_, "Solid", "Black", "yUSL", 1 )}
)
)
);secondo caso
xColName = Column Name( 3 ); show (xColName);
yColName = Column Name( 4 ); show (yColName);
Graph Builder(
Size( 528, 457 ),
Show Control Panel( 0 ),
Variables( X( :Column (3) ), Y( :Column (4) ) ),
Elements( Points( X, Y, Legend( 3 ) )),
SendToReport(
Dispatch(
{},
xColName, //"xColName"
ScaleBox,
{Add Ref Line( _LSL1_, "Solid", "Black", "xLSL", 1 ),
Add Ref Line( _USL2_, "Solid", "Black", "xUSL", 1 )}
),
Dispatch(
{},
yColName, //"yColName"
ScaleBox,
{Add Ref Line( _LSL2_, "Solid", "Black", "yLSL", 1 ),
Add Ref Line( _USL2_, "Solid", "Black", "yUSL", 1 )}
)
)
);