die Farbe der Violine Plot Sie füllen verwenden ändern = Variable, wie folgt aus:
ggplot(diamonds, aes(x=cut,y=carat)) + geom_violin(aes(fill=cut))
gleiche gilt für boxplot
ggplot(diamonds, aes(x=cut,y=carat)) + geom_boxplot(aes(fill=cut))
aber was auch immer Wert Sie müssen für jeden Schnitt denselben Wert haben, das heißt, wenn Sie beispielsweise mea verwenden möchten n Tiefe/Schnitt als Farbvariable müssten Sie es kodieren.
mit dplyr Gruppe Ihre Diamanten durch Schnitt und mit Fasse die mittlere Tiefe erhalten (oder jede andere Variable)
library(dplyr)
diamonds_group <- group_by(diamonds, cut)
diamonds_group <- summarize(diamonds_group, Mean_Price = mean(price))
Dann habe ich als Kopie von Diamanten diamonds2, um dann den Datensatz zu manipulieren
diamonds2 <- diamonds
ich fusionieren beide Datenrahmen die Mean_Depth als Variable in diamonds2
diamonds2 <- merge(diamonds2, diamonds_group)
zu erhaltenUnd jetzt kann ich es mit einer mittleren Tiefe als Farb variable plotten
ggplot(diamonds2, aes(x=cut,y=carat)) + geom_boxplot(aes(fill=Mean_Price)) + scale_fill_gradient2(midpoint = mean(diamonds2$price))
Können Sie ein Bild zeigen (Zeichnung?) Ihrer gewünschten Ausgang? Warum brauchst du die Farben? Bedeutet die Breite der Violine nicht schon Dichte? – Heroka
Hi Heroka, mein eigentliches Ziel ist es, das Violin-Plot (oder das Box-Plot, das ich aus Platzgründen in meinem Fall bevorzuge) basierend auf einem anderen Parameter einzufärben. Ich möchte also zeigen, wie sich die Verteilung des Letters auf eine andere Variable auswirkt; sagen wir Überfluss. Zum Beispiel Wenn Diamanten mit hohem Karat selten sind (nur eine Annahme), dann sollte die Violinen-Plot-Region mit größerer Breite blauer und die schmalen Regionen rötlicher sein. – user2438149
Für den Diamanten Datensatz wird es möglich sein, die cut vs carat Geigen Töpfe mit Preis variabel zu füllen, um die Beziehung zwischen dem Karat und dem Preis zu zeigen. Vielen Dank! – user2438149