Hallo!
Ich habe versucht, ein Skript zu erstellen, das einen Parameter mehrerer Stichproben grafisch darstellt. Die Proben werden so benannt, dass sie XX-AA sind, wobei XX die ID/der Name der Probe und AA der Zeitstempel der Probe ist (Tag 1,2,3 usw.).
Mein aktuelles Problem besteht darin, dass ich versuche, mit dem Graph Builder mehrere Stichproben übereinander darzustellen und außerdem zu sehen, welche Änderungen ich im JSL-Skript vornehmen kann. Die Absicht besteht darin, dass das Diagramm einen Parameter Y gegen die formatierte Beispielnomenklatur XX-AA darstellt, aber die Beschriftungen der X-Achse so ändern, dass es gegen den Zeitstempel AA aufgetragen wird.
Ich habe derzeit ein Graph Builder-Skript für zwei Beispiele, FJ und WW. Ich habe vor, weitere verschiedene Samples hinzuzufügen, um sie übereinander darzustellen. Ein weiteres Problem, das ans Licht kommt, ist die Ineffizienz des Skripts, wie unten gezeigt. Außerdem können Sie dem Anhang entnehmen, dass FJ und WW nicht wirklich übereinander liegen und die X-Achse am Ende wie 2,4,6,8 aussieht, gefolgt von einem weiteren 2,4,6,8.
Graph Builder(
Size( 532, 447 ),
Show Control Panel( 0 ),
Variables( X( :Sample ), Y( :Mass ), Overlay( :Sample Name ) ),
Elements( Points( X, Y, Legend( 3 ), Jitter( 0 ) ), Line( X, Y, Legend( 4 ) ) ),
SendToReport(
Dispatch(
{},
"Sample ID",
ScaleBox,
{Label Row(
{Tick Mark( Label( "FJ-02" ), Label( "2" ) ),
Tick Mark( Label( "FJ-03" ), Label( "3" ) ),
Tick Mark( Label( "FJ-04" ), Label( "4" ) ),
Tick Mark( Label( "FJ-05" ), Label( "5" ) ),
Tick Mark( Label( "FJ-06" ), Label( "6" ) ),
Tick Mark( Label( "FJ-07" ), Label( "7" ) ),
Tick Mark( Label( "FJ-08" ), Label( "8" ) ),
Tick Mark( Label( "WW-02" ), Label( "2" ) ),
Tick Mark( Label( "WW-03" ), Label( "3" ) ),
Tick Mark( Label( "WW-04" ), Label( "4" ) ),
Tick Mark( Label( "WW-05" ), Label( "5" ) ),
Tick Mark( Label( "WW-06" ), Label( "6" ) ),
Tick Mark( Label( "WW-08" ), Label( "8" ) )}
)}
),
Dispatch( {}, "X title", TextEditBox, {Set Text( "Time (days)" )} )
)
)
Eine Möglichkeit, das Problem zu lösen, bestand meiner Meinung nach darin, das Skript eine neue Spalte erstellen zu lassen, die nur den Tag anzeigt, indem nur die Zeitstempelkomponente (AA) des Formats XX-AA des Beispielnamens betrachtet wird. Ich habe mich gefragt, ob es auch alternative Methoden gibt, die möglicherweise effizienter/effektiver sind.
Vielen Dank im Voraus!

Vielen Dank! Ich schätze es wirklich!
In Ihrem ursprünglichen Beitrag enthält Ihr Skript diese Zeile:
Variables( X( :Sample ), Y( :Mass ), Overlay( :Sample Name ) ),
Versuchen Sie es durch Folgendes zu ersetzen:
Variables(
X( Transform Column( "Day", Formula( Num( Word( 2, :Sample, "-" ) ) ) ) ),
Y( :Mass ),
Overlay( :Sample Name )
),Bearbeiten: Wenn Sie dies auf diese Weise tun, müssen Sie wahrscheinlich auch Ihren SendToReport-Block löschen.