Bearbeiten der Farbverlaufsskala mit JSLHallo alle,
Ich habe zum Beispiel diese Datentabelle

test = Graph Builder(
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 23 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
23,
Properties(
0,
{gradient(
{Scale Values( [-2 2] ), Label Format( "Fixed Dec", 15, 3 )}
)},
Item ID( "Value", 1 )
)
)}
)
)
);Ich führe das obige Skript aus, um dieses Diagramm unten mit dem Farbverlauf +/-2 Standardabweichungen zu erhalten. Dies hilft, Flyer nicht anzuzeigen, wenn der Datensatz groß ist.
In der Grafik unten klicke ich nur mit der rechten Maustaste auf den Farbverlauf und ändere den Skalentyp in „Linear“ (da es einfacher ist, in linearen Skalen zu denken). Es fällt mir schwer, diesen Schritt zu skripten.

Beachten Sie, dass ich das Diagramm unten nicht möchte, da es nur die Standardeinstellung ist, wenn ich das Diagramm vor dem Anpassen des Farbverlaufs erstelle.

Der nächste Wert, den ich gefunden habe, ist unten, aber er setzt die Skalierung linear von -2 auf 2, was ich für die Standardabweichungsgrenzen eingegeben habe.
test << Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Properties(
0,
{gradient(
{ Scale Values[ ], Label Format( "Fixed Dec", 15, 4 ),
Scale Type( "Linear" )}
)},
Item ID( "Entry X Offset", 1 )
)
)}
)Alle Gedanken sind sehr willkommen! - Evan
Betreff: Farbverlaufsskala mit JSL bearbeitenHier ist ein Beispiel, bei dem ich den Farbverlauf aus einer der Spalten dynamisch bestimme.
dt = New Table( "Untitled", Add Rows( 4 ),
New Column( "X", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) ),
New Column( "Y", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [4, 1, 3, 2] ) ),
New Column( "Value", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 1, 2, 2] ) )
);
dtcol = column(dt, "Y");
one_min = col min(dtcol);
one_max = col max(dtcol);
one_avg = col mean(dtcol);
scale_matrix = matrix({one_min, one_avg, one_max});
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 9 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model( 9,
Properties( 0,
{gradient( {Scale Values( scale_matrix )} )},
Item ID( "Value", 1 )
)
)}
)
)
);Betreff: Farbverlaufsskala mit JSL bearbeitenDer Sinn der Übung besteht darin, zu sehen, was JSL GB für einen kundenspezifischen Maßstab produziert.Sobald Sie das haben, können Sie die Skalierung für jeden Datensatz programmgesteuert bestimmen und diese zur Laufzeit in Ihre GB-JSL einfügen.
Betreff: Farbverlaufsskala mit JSL bearbeitenDanke für die Antwort!
Ich möchte jedoch keine manuelle Arbeit im Graph Builder durchführen müssen. Die Idee meines (größeren) Skripts besteht darin, automatisch viele Diagramme mit der entsprechenden Skalierung für jedes Diagramm und jeden Datensatz zu erstellen. Um Muster zu erkennen, muss die Skala für jede Spalte/jeden Datensatz individuell angepasst werden. Es gibt zu viele, um sie manuell zu erledigen.Betreff: Farbverlaufsskala mit JSL bearbeitenArbeiten Sie an der Grafik in GB und stellen Sie den Maßstab genau nach Ihren Wünschen ein.Klicken Sie dann auf das rote Dreieck und wählen Sie Skript > Im Skriptfenster speichern.Folgendes habe ich erhalten, nachdem ich den Maßstab etwas geändert habe:
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 9 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model( 9,
Properties( 0,
{gradient( {Scale Values( [2.2 2.6 3.2] )} )},
Item ID( "Value", 1 )
)
)}
)
)
);