Ausblenden von „Where (...)“-Textfeldern in Grafiken mithilfe von JSLHallo,
Ist es möglich, die Textzeile mit Where(col="x"), wie im angehängten Bild gezeigt, mithilfe von Skripten auszublenden/zu entfernen? Ich bin neu bei JMP und habe noch nicht alle Einzelheiten herausgefunden.
Ich habe einen Satz gestapelter Daten, bei denen sich alle Metaboliten/Zählungsmarkierungen (pH, Osmo usw.) in einer Spalte und alle entsprechenden Daten in einer anderen befinden.In meinem Fall ist das Textfeld „where()“ irrelevant, da ich meine Abbildungstitel mit derselben Bezeichnung umbenannt habe. Ich kann das Textfeld manuell vorübergehend ausblenden, indem ich mit der rechten Maustaste klicke, wenn ich das Bild in JMP ansehe, bin mir aber nicht sicher, wie ich es mit JSL ausblenden und beim Exportieren nach HTML ausgeblendet lassen kann.
Hier ist ein Beispielskript für eine meiner Grafiken:
Graph Builder(
Size( 531, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Step ),
Y( :Name( "BR Metabolite/Count Data" ) ),
Overlay( :Run )
),
Elements(
Line( X, Y, Legend( 1 ) ),
Points( X, Y, Legend( 2 ), Jitter Limit( 0.2018 ) )
),
Where( :Name( "Metabolite/Count" ) == "pH" ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "pH" ), Image Export Display( Normal )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "pH vs. Step" )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "pH" )} )
)
);Danke für die Hilfe!
MassenanpassungBetreff: „Where (...)“-Textfelder in Grafiken mit JSL ausblendenIch habe online eine sehr nette Lösung gefunden 
dp = New Window("Graph Window", tb);
//delete all "Where" text on the chart
For( i = 1000, i > 0, i--,
try(
If( Contains( dp[Text Box( i )] << get text, "Where(:" ),
dp[Text Box( i )] << delete;
)
);
);Hoffe das hilft
Betreff: „Where (...)“-Textfelder in Grafiken mit JSL ausblendenHier ist eine Möglichkeit, damit umzugehen
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
New Window( "big class - Graph Builder", vlb = V List Box() );
gb1 = Graph Builder(
invisible,
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 12 )
);
(Report( gb1 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb1 ) );
gb2 = Graph Builder(
invisible,
Variables( X( :weight ), Y( :height ) ),
Show Control Panel( 0 ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 13 )
);
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb2 ) );
gb3 = Graph Builder(
invisible,
Variables( X( :weight ), Y( :height ) ),
Show Control Panel( 0 ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 14 )
);
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb3 ) );
Betreff: „Where (...)“-Textfelder in Grafiken mit JSL ausblendenKeine Sorge. Vielen Dank trotzdem für Ihre Hilfe. Ich werde herumspielen und sehen, ob ich etwas zum Laufen bringen kann.
Wie gesagt, ich bin neu bei JMP, daher ist derzeit noch nicht alles sehr effizient optimiert. Ursprünglich habe ich alle meine Grafiken direkt in meiner Vlistbox erstellt, war mir aber nicht sicher, wie ich Ihre Codezeile darin integrieren sollte. Also habe ich alle meine Figuren aus der Vlistbox gezogen und alle Löschzeilen separat hinzugefügt.
Ich habe ursprünglich die By-Klausel verwendet, bin aber beim Hinzufügen des Berichts zu einem Webbericht auf mehrere Probleme gestoßen. Anstatt das Skript nach Gruppen in der Zwischenablage zu speichern, habe ich das Skript im Skriptfenster (alle Objekte) speichern, wie im folgenden Beispiel:
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
By( :Name( "Metabolite/Count" ) )
);
New Window( "PCstack - Graph Builder",
V List Box(
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "VCD at Split" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "Viability at Split" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "VCD at Inoc" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "PDL" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "PDT(h)" )
)
)
);
Betreff: „Where (...)“-Textfelder in Grafiken mit JSL ausblendenOhne das vollständige Skript zu sehen, ist es ziemlich schwierig festzustellen, wo das Problem liegt.Meine andere Frage ist: Warum führen Sie alle Löschvorgänge an einer einzigen Stelle in Ihrem Code durch, anstatt den Löschcode an der Stelle zu haben, an der das Diagramm erstellt wird?Oder verwenden Sie in Ihrem Code eine By-Klausel, die die Anzeigebaumstruktur in eine völlig andere Hierarchie als das einzelne eigenständige Diagramm ändert.
Betreff: „Where (...)“-Textfelder in Grafiken mit JSL ausblendenVielen Dank für Ihre Hilfe.
Es funktioniert gut für eine einzelne Figur, fügt aber jetzt keine der geänderten Figuren zu meiner Vlistbox hinzu. Wenn ich versuche, sie zu kombinieren, wird immer ein leeres Kästchen ausgespuckt. Ich habe auch <
(Report( gb1 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb3 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb4 ) << top parent)[Text Box( 1 )] << delete;
//(Report( gb5 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb6 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb7 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb8 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb9 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb10 ) << top parent)[Text Box( 1 )] << delete;
fig3 = expr(
New Window( "Production Bioreactor - Metabolites/Counts",
V List Box(gb1,gb2,gb3,gb4, gb6, gb7,gb8,gb9,gb10,gb11,gb12,gb13
)
));
Betreff: „Where (...)“-Textfelder in Grafiken mit JSL ausblendenDie Verwendung der Nachricht << Löschen in diesem Fall wirkt sich wahrscheinlich ohne Auswirkungen auf die gewünschte Änderung aus. Eine sicherere Änderung ist über die Meldung „<< Sichtbarkeit“ möglich. Verwenden Sie das Argument Collapse, um es unsichtbar zu machen und nicht seinen Platz im Fenster zu sparen.
Betreff: „Where (...)“-Textfelder in Grafiken mit JSL ausblendenDas sollte funktionieren
gb = Graph Builder(
Size( 531, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Step ),
Y( :Name( "BR Metabolite/Count Data" ) ),
Overlay( :Run )
),
Elements(
Line( X, Y, Legend( 1 ) ),
Points( X, Y, Legend( 2 ), Jitter Limit( 0.2018 ) )
),
Where( :Name( "Metabolite/Count" ) == "pH" ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "pH" ), Image Export Display( Normal )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "pH vs. Step" )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "pH" )} )
)
);
(Report( gb ) << top parent)[Text Box( 1 )] << delete;