<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich verwende ein nichtlineares Anpassungsmodell mit 7 Datenpunkten, die immer zwischen 500 und 1700 liegen.Die Diagramme werden mit der X-Achse im Bereich von -250 bis 1750 angezeigt.Wie kann ich die x-Achse auf 540 bis 1750 einstellen?Ich habe versucht, auf die Achsenbox (2) und die ScaleBox zuzugreifen, aber im Protokoll steht immer, dass sie nicht gefunden werden kann.Hier ist, was ich derzeit habe.
dt << New Column( "Model", Formula( Parameter( {L = 850, D = 4000, U =0.1}, (((1 - U) / 2) * (cos(pi()*(:BarLength / L)) + 1) + U) * exp(-1*(:BarLength / D)))));
dt << Select Where( :SiteColumn == "J" ) << Exclude << Hide;
titlex = wf || "_PSPP_FIT";
MES1 = Neues Fenster( titlex,
nl = dt << Nichtlinear(
Y( :NormTrans ),
X( :Modell ),
xaxis = nl[axis box( 2 )],
xaxis << Achseneinstellungen (Max(1750), Min(450)),
Parametergrenzen( L( 500, 1300 ), D( 200, 20000 ), U( 0, 1 ) ),
Von( :FlashField, :ReqWaveLn ),
SendToReport(
Dispatch( {}, "Systemsteuerung", OutlineBox, {Close( 1 )} ),
Dispatch( {"Plot"}, "1" , ScaleBox,{Min( 450 ), Max( 1750 ), Inc( 500 ), Minor Ticks( 1 )})
//Dispatch( {}, "1", ScaleBox, {Inc( 250 ), Minor Ticks( 1 )} )
//Dispatch( {}, "1", axis box(2), {Min( 450 ), Max( 1750 ), Inc( 250 ), Minor Ticks( 1 )} )
//Dispatch( {"Plot"}, "Nonlinear Graph", FrameBox, {Frame Size( 378, 262 )} ),
//Dispatch( {}, "Solution", OutlineBox, {Close( 1 )} )
)
);
nl << beenden;
);
Was seltsam ist: Wenn ich die Achse manuell anpasse und dann das Skript kopiere, wird es genau so angezeigt, wie es oben gezeigt wird.Das manuelle Ändern der Achse in einem der Diagramme und das Kopieren des Skripts zeigt Folgendes:
Nichtlinear(
Y( :NormTrans ),
X( :Modell ),
Parametergrenzen( L( 500, 1300 ), D( 200, 20000 ), U( 0, 1 ) ),
Newton,
Beenden,
Wo( :FlashField == "CF1" & :ReqWaveLn == 769.1172 ),
SendToReport(
Dispatch( {}, "Systemsteuerung", OutlineBox, {Close( 1 )} ),
Versenden(
{"Parzelle"},
„1“,
ScaleBox,
{Min( 450 ), Max( 1750 ), Inc( 500 ), Minor Ticks( 1 )}
)
)
)
Ich bin nicht in der Lage, das ursprüngliche nichtlineare Diagramm mit einem so großen Bereich für die X-Achse zu reproduzieren, aber ich vermute, dass einige der X-Werte für :SiteColumn=="J" negativ sind. Wenn dies der Fall ist, basiert das Achsenminimum auf den negativen Werten, auch wenn diese ausgeblendet und ausgeschlossen sind.
Ich würde empfehlen, das zu verschieben x-Achse Aussagen außerhalb der Nichtlinear() Plattformaufruf, da ich nicht glaube, dass Anzeigefeldmeldungen wie diese innerhalb eines Plattformaufrufs gültig sind:
xaxis = report(nl)[axis box( 2 )];
xaxis << Achseneinstellungen( Max( 1750 ), Min( 450 ) );
Beachten Sie außerdem, dass das Achsenfeld ein Index von ist Bericht(nl) statt nl . Die Achsenbox befindet sich auf der Berichtsebene und nicht auf der Plattformebene.
Zumindest in den Spielzeugbeispieldaten, die ich zum Testen erstellt habe, konnte ich den gesamten Teil „Send To Report Dispatch()“ Ihres Skripts entfernen und einfach die beiden oben genannten xaxis-Anweisungen verwenden, um den X-Achsenbereich auf 450 bis 1750 zu bringen.
Lassen Sie mich wissen, ob das für Sie funktioniert oder ob Sie immer noch einen großen X-Achsenbereich sehen.
Danke,
Michael
Nur eine Vermutung ....
Versuchen Sie, am Ende dieser Zeile ein Komma zu setzen:
Dispatch( {"Plot"}, "1" , ScaleBox,{Min( 450 ), Max( 1750 ), Inc( 500 ), Minor Ticks( 1 )})