Hallo zusammen,
In meinem aktuellen Skript habe ich die einzelnen Sites in der Legende als eine bestimmte Farbe definiert, aber wenn ich es so mache, wird es nicht übernommen, wenn die „Sites“ unterschiedlich beschriftet sind. Ich dachte, vielleicht könnte „Farbzelle“ alle Zellen in eine Farbe ändern, aber ich habe Probleme.
Wie würden Sie eine einzelne Farbe für alle Zellen skripten?
Größe( 879, 653 ),
Systemsteuerung anzeigen( 0 ),
Variablen( X( :SiteX ), Y( :SiteY ), Color( :Site ) ),
Elemente (Heatmap (X, Y, Legende (44), Beschriftung ("Beschriftung nach Wert"), Farbdesign ("Solid", "gray"))),
Lokaler Datenfilter (Gliederung schließen ( 1 ) ),
SendenAnBericht(
Dispatch( {}, "SiteX", ScaleBox, {Label Row( Hauptraster anzeigen( 1 ) )} ),
Dispatch( {}, "SiteY", ScaleBox, {Label Row( Hauptraster anzeigen( 1 ) )} ),
Versand( {}, "400", ScaleBox,
{Legende Modell(
44,
Eigenschaften( 0, {Füllfarbe( 32 )}, Artikel-ID( "01", 1 ) ),
Eigenschaften( 1, {Füllfarbe( 32 )}, Artikel-ID( "02", 1 ) ),
Eigenschaften( 2, {Füllfarbe( 32 )}, Artikel-ID( "03", 1 ) ),
Eigenschaften( 3, {Füllfarbe( 32 )}, Artikel-ID( "04", 1 ) ),
Eigenschaften( 4, {Füllfarbe( 32 )}, Artikel-ID( "05", 1 ) ),
Eigenschaften( 5, {Füllfarbe( 32 )}, Artikel-ID( "06", 1 ) ),
Eigenschaften( 6, {Füllfarbe( 32 )}, Artikel-ID( "07", 1 ) )
.........>
Vielleicht können Sie die Spalteneigenschaft „Wertfarben“ in der Spalte „Site“ verwenden?

Oder möchten Sie für alle Sites dieselbe Farbe haben? In diesem Fall können Sie eine neue Spalte mit nur einem Wert erstellen und diesen als Farbe anstelle der Site-Spalte verwenden.
Wenn Sie Farbe verwenden möchten, um aussagekräftige Beschriftungen zu erhalten, die Farbe jedoch konstant halten möchten, können Sie den Legendenserver verwenden, um allen Einträgen stapelweise eine Farbe zuzuweisen:
A) über die GUI
alle Einträge auswählen und Farbe zuweisen:

über JSL (Version 1, getestet mit JMP17.2):
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
gb=Graph Builder(
Variables( X( :height ), Y( :weight ), Color( :sex ) ),
Elements( Heatmap( X, Y )),
);
// talk to the legend server and batch assign a color
legend = gb << get legend server();
legenditems= (legend << get legend items)[1];
legenditems << set properties ({Fill Color( 1 )}) //bug in JMP 18
Aufgrund eines Fehlers in JMP18 funktioniert dieser Ansatz nicht ...
B - Variante 2) Als Workaround können Sie jeden Eintrag einzeln ansprechen und ihm die Farbe zuweisen:
Problem beim Abrufen von Legendenelementen
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
gb=Graph Builder(
Variables( X( :height ), Y( :weight ), Color( :sex ) ),
Elements( Heatmap( X, Y ,Label( "Label by Value" ))),
);
// talk to the legend server and batch assign a color
legend = gb << get legend server();
legenditems= (legend << get legend items)[1];
for(i=1, i<= Nitems(legenditems), i++,
Eval(Eval Expr(item = legend << Get Legend Item(1, Expr(i))));
item << set properties ({Fill Color( 1 )})
);
Wenn Sie verschiedenen Einträgen unterschiedliche Farben zuweisen möchten, können Sie Wertfarben verwenden (wie von @jthi vorgeschlagen) und ein Farbthema anwenden:

oder alle Einträge in der Legende markieren und über das Rechtsklickmenü ein Thema zuweisen:
