<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich versuche, Eigenschaften wie zu ändern Farbe/Größe/Transparenz von beiden Markierungen und Linien in überlagerten Diagrammen mithilfe von Skripten (gebunden an Benutzereingaben wie Kontrollkästchen und Textfelder). Unten ist Code, mit dem ich herumgespielt habe, um herauszufinden, wie ich das Skript manipulieren kann, aber ich bin mir nicht sicher, ob ich weiß, was ich tue :-). Wenn Sie Antworten auf Fragen in Kommentarzeilen des Codes kennen oder wissen, dass eine Syntaxreferenz für GB-Funktionen vorhanden ist, posten Sie bitte ... Danke ...
//Tabelle erstellen
dt = Neuer Tisch ( „grphbldr.jmp“ , Zeilen hinzufügen ( 10 ) ,
Neue Spalte ( "X" , Numerisch , Kontinuierlich , Werte festlegen ( 1 :: 10 )) ,
Neue Spalte ( „Y1“ , Numerisch , Kontinuierlich , Formel ( : X ^ 2 )) ,
Neue Spalte ( „Y2“ , Numerisch , Kontinuierlich , Formel ( 3 *: X ^ 2 - 100 )) ,
) ;
GB = Graph Builder (
Systemsteuerung anzeigen ( 0 ) ,
//Syntax zum Löschen und Neuen von Variablen?
//Was ist Position(1)?
Variablen ( X ( : X ) , Y ( : Y1 ) , Y ( : Y2 , Position ( 1 ) ) ) ,
//Informationen/Syntax zu Elementen, Legende?
//Warum wird für Y(2) Punkte im Diagramm keine Legende angezeigt?
Elemente (
Punkte ( X , Y ( 1 ) , Y ( 2 ) , Legende ( 1 ) , Nervosität ( 1 ) ) ,
Linie (
X ,
Y ( 1 ) ,
Y ( 2 ) ,
Legende ( 2 ) ,
//Info zur Zeilenreihenfolge?
//Zeichnet Linien durch fehlende Punkte?
Zeilenreihenfolge ( 0 ) ,
Zusammenfassende Statistik ( "Bedeuten" )
)
) ,
SendToReport (
//Was ist „400“?
Versenden ( {} , „400“ , ScaleBox ,
{
//Transparenz der Punkte ändern.
//Legend Model(1) für Punkte. Properties(0) – für Y1,
//und Properties(1) für Y2?
//Wie stelle ich Markierungstyp und -größe für Punkte ein?
Legendenmodell ( 1 , Eigenschaften ( 0 , { Transparenz ( 0,6 )} ) ) ,
Legendenmodell ( 1 , Eigenschaften ( 0 , { Transparenz ( 0,4 )} ) ) ,
//Transparenz und Linienstärke der Linien ändern.
//Legend Model(2) für Linien. Properties(0) – für Y1,
//und Properties(1) für Y2?
Legendenmodell ( 2 , Eigenschaften ( 0 , { Linienbreite ( 2 ) , Transparenz ( 0,6 )} ) ) ,
Legendenmodell ( 2 , Eigenschaften ( 1 , { Linienbreite ( 5 ) , Transparenz ( 0,4 )} ) )
}
)
)
) ;
Ich möchte nur hinzufügen, dass ich einige umfangreiche Manipulationen an GB-Befehlen vorgenommen habe, jedoch erst, nachdem ich ein komplexes Diagramm ausgearbeitet und mir den Code angesehen hatte.Ich wollte meine eigenen Markierungen und Farben festlegen und Linien anzeigen, die Symbole verbinden, aber ich wollte, dass in der Legende nur die Symbole und nicht die Linien angezeigt werden.Sobald Sie ein komplexes Beispieldiagramm erstellt haben, können Sie sich den Code ansehen und herausfinden, wie Sie ihn für andere Situationen (z. B. eine andere Anzahl von darzustellenden Dingen) dynamisch neu erstellen können.
Der GB-Code hat eine Logik, aber am sichersten ist es, ihn mit GB zu erstellen.
Sieht so aus, als hätten Sie das meiste herausgefunden. Befolgen Sie die Vorschläge von PMRoz für die Beispielsyntax, um Markierung und Markierungsgröße in die Legendeneigenschaften zu übernehmen.
//Was ist Position(1)?
Wenn Sie zwei Ys haben, können diese entweder in zwei „Positionen“ oder beide in derselben Position platziert werden. Position(1) besagt, dass das 2. Y an der gleichen Position wie das erste Y platziert werden soll.
//Warum wird für Y(2) Punkte im Diagramm keine Legende angezeigt?
Dies kann ein Fehler oder zumindest ein Mangel in einer Heuristik sein. GB versucht, „unnötige“ Legendenelemente auszublenden, z. B. wenn Punkte und Linien dieselbe Farbe haben. Das Gleiche gilt für Regressionslinien und ihre Konfidenzintervalle.
//Was ist „400“?
400 ist eine feste GB-ID-Nummer für die Legende.
Sie können sich den gesamten Teil „Send To Report()“ als Ergänzung zum GB-Skript vorstellen, das Anzeigeänderungen vornimmt, nachdem das Diagrammmodell erstellt wurde.
Anstatt zu versuchen, die Syntax des Graph Builders zu verstehen, verfolge ich einen anderen Ansatz:
Ich erstelle das Diagramm mit dem Graph Builder und bearbeite es, bis es genau meinen Vorstellungen entspricht.Dann klicke ich auf das rote Dreieck, kopiere das Skript und füge es in mein JSL-Programm ein.