Als erstes ist hier Teil mydata ist (121315 * 4):R: justieren Skala Farbgradienten in ggplot2
LONGITUDE LATITUDE NUM_PICKUPS TOTAL_REVENUE
1 121.6177 38.9124 21 337.0
2 121.8069 39.0210 16 454.7
3 121.5723 38.9645 38 696.9
4 121.6423 38.9258 622 13609.7
5 121.5647 38.9129 116 2016.7
6 121.6429 38.8846 120 2417.3
7 121.5852 38.9279 117 1975.0
8 121.6616 38.9189 94 1712.4
9 121.5812 38.9828 50 981.6
10 121.6411 38.9255 225 4696.2
, dass das Sehen, die erste und die zweite Spalte ist die Länge und Breite.
mydata[1,3]=21
bedeutet, dass im Bereich (121.6177, 38.9124)
gibt es 21 Pickups.
Dann habe ich Zuflucht mydata mit NUM_PICKUPS
ab:
LONGITUDE LATITUDE NUM_PICKUPS TOTAL_REVENUE
121.6019 39.0181 14243 514716
121.5382 38.9609 13244 443754.7
121.5381 38.9609 9645 325056
121.5382 38.9608 8846 294345.6
121.602 39.0181 6556 232254.5
121.5383 38.9609 6152 208967.6
121.5383 38.9608 6014 207677.8
121.5381 38.9608 5544 185398.3
121.6018 39.018 4546 167662.1
121.5382 38.9607 4260 143088.9
121.5827 38.8948 4133 72202.8
121.6303 38.9183 3837 67683.6
121.5966 38.9665 3747 56378.7
Und es gibt die Zusammenfassung der mydata:
summary(mydata)
LONGITUDE LATITUDE NUM_PICKUPS TOTAL_REVENUE
Min. :121.1 Min. :38.76 Min. : 10.00 Min. : 92.9
1st Qu.:121.6 1st Qu.:38.91 1st Qu.: 15.00 1st Qu.: 289.7
Median :121.6 Median :38.92 Median : 27.00 Median : 515.1
Mean :121.6 Mean :38.93 Mean : 57.03 Mean : 1067.6
3rd Qu.:121.6 3rd Qu.:38.96 3rd Qu.: 59.00 3rd Qu.: 1089.5
Max. :122.0 Max. :39.32 Max. :14243.00 Max. :514716.0
Jetzt will ich die Karte ziehen, die durch NUM_PICKUPS
gefärbt ist, schauen bei meinen Codes.
g1 <- ggplot() + geom_point(data = mydata,aes(x = LONGITUDE,y = LATITUDE,color=NUM_PICKUPS))
Ja, sowohl die Codes und Grafik sind richtig, aber schaut die Farbe, es ist schwer zu identifizieren, wo der Ort mit hohen num_pickups
ist? Und wo ist weniger?
Ich versuche, meine Codes mit scale_colour_gradient()
zu ändern:
g1 + scale_colour_gradient(low = "red",high = "white")
Aber das Bild aussehen, die Farbe ist auch schwer zu klassifizieren.
Dritter Versuch: Dieses Mal habe ich Parameter von alpha=I(1/100)
und breaks()
hinzufügen:
g1 <- ggplot() + geom_point(data = mydata,aes(x = LONGITUDE,y = LATITUDE,color=NUM_PICKUPS),alpha=I(1/100))
g1 + scale_colour_gradient(low = "red",high = "white", breaks=c(0,2000,4000))
Aber es ist immer noch hilflos!
Vierter Versuch:
ggplot(data = mydata, aes(x = LONGITUDE,y = LATITUDE, color = NUM_PICKUPS)) + geom_point() + scale_colour_gradient(limits = c(0, 60))
Fünfte Versuchen: Nach Angaben der Post vor 3 Jahren, ggplot2 Color Scale Over Affected by Outliers, versuche ich wieder meine Codes zu ändern:
mydata$NUM_PICKUPS1 <- "> 2000"
mydata$NUM_PICKUPS1[mydata$NUM_PICKUPS <= 2000] <- NA
g2 <- ggplot() + geom_point(data = subset(mydata,NUM_PICKUPS <= 2000),
aes(x = LONGITUDE,y = LATITUDE,color=NUM_PICKUPS),size=2) + geom_point(data = subset(mydata,NUM_PICKUPS > 2000),aes(x = LONGITUDE,y = LATITUDE,fill=NUM_PICKUPS1))
Etwas hat sich in den Ausreißern geändert, aber die Farbskala ist immer noch schwer zu klassifizieren!
Also, meine Frage ist, wie Sie meine Codes ändern, um die Farbe NUM_PICKUPS
leicht zu identifizieren?
Haben Sie einen Ausreißer in 'NUM_PICKUPS'? Können Sie das Ergebnis von 'summary (mydata $ NUM_PICKUPS)' posten? Es sieht so aus, als könnte es einen sehr großen Wert geben, was bedeutet, dass die Skala erweitert werden muss, um sie aufzunehmen. – Phil
Sie können die Auflösung eines bestimmten Bereichs Ihrer Farbskala erhöhen, indem Sie 'scale_colour_gradientn' und das' rescale'-Argument wie beschrieben [hier] verwenden (http://stackoverflow.com/questions/20581746/small-value-variation-invisible- using-scale-color-gradient2/20584038 # 20584038) (Beschreibung für 'scale_fill_gradientn' [hier] (http://stackoverflow.com/questions/21758175/is-it-possible-to-define-the-mid-range -in-scale-fill-gradient2/21758729 # 21758729)). – Henrik
Mit scale_colour_gradient (low = "rot", high = "weiß", break = c (2000,4000,6000)) können Sie die Skalierung auf die Verteilung Ihrer Daten einstellen. '_ (Passen Sie die Pausen nach Ihren an Daten)_. – GPierre