Ich lese das Buch "ggplot2 - Elegante Grafik für die Datenanalyse" (Wickham, 2009) , der Abschnitt "Skalierung" (Seite 32) sagt dies:
Die Skalierung umfasst dann die Abbildung der Datenwerte auf Punkte in diesem Bereich. Es gibt viele Möglichkeiten, dies zu tun, aber hier ist cyl kategorisch Englisch: www.weisang.info/index.php?id=143&t...h=ddbb8dcdc9 Variable wir ordnen Werte gleichmäßig verteilten Farben auf dem Farbrad zu, wie in Abbildung 3.4 gezeigt. Eine andere Zuordnung wird verwendet, wenn die Variable ist kontinuierlich. Das Ergebnis dieser Umrechnungen ist Tabelle 3.4 enthält Werte, die für den Computer von Bedeutung sind.
Das Buch erklärt nicht im Detail, wie man diese Tabelle 3.4 bekommt, geschweige denn Abbildung 3.4. Die integrierte Datenbank ist mpg . Jeder hat eine Idee, wie man diese Tabelle und Grafik bekommt? Vielen Dank im Voraus.
Ich frage mich, wie ich das ohne coord_polar()
machen könnte, da das Beispiel aus Wickhams Buch eindeutig nicht funktioniert. Es stellt sich heraus, dass Sie einfach geom_point(...)
verwenden können.
Dies rendert in ein paar Sekunden. Diese Referenz gibt an, dass die Standardhelligkeit l = 65 ist.
Dies entspricht dem, wonach Sie suchen, aber die Farbübergänge sind möglicherweise nicht glatt genug. Hoffentlich kann jemand anderes dies verbessern:
Code angepasst von hier .
%Vor% Sie können glattere Farbübergänge erzielen, indem Sie für die Werte h
und s
ein feineres Raster verwenden, das Rendern des Plots dauert jedoch sehr lange. Sie können die Helligkeit ändern, indem Sie den Wert von v
zwischen Null und 1 setzen. (Per @ BrodieGs Kommentar, setzen Sie v = 1/2, um die Helligkeitsstufe der Figur in Hadleys ggplot2 Buch zu erhalten.)
Unten sehen Sie eine Version des Diagramms mit einer Schrittweite von 0,001 für die h
-Werte (wobei die s
-Schrittgröße bei 0,05 bleibt). Dies dauerte ein paar Minuten, um auf meinem relativ neuen Macbook Pro zu rendern, aber die Übergänge sind entlang der h
-Koordinate ziemlich glatt:
Um eine Farbtabelle zu erhalten, können Sie die Funktion hsv()
verwenden, die hexadezimale Farbwerte zurückgibt. Zum Beispiel: