【发布时间】:2017-04-17 11:44:26
【问题描述】:
我正在使用RStudio 进行 R 编码。我有一个数据集(称为 mydata2),我正在使用这个数据框在 ggplot2 中构建一个绘图。
library(ggplot2)
mydata = read.csv("extrasjan15feb17.csv")
mydata2=mydata[(mydata$PropertyCode = "PLN" & mydata$Year==2016), ]
options(scipen=99)
ggplot(mydata2,aes(Year, TotalSpending)) + geom_jitter(size=2,alpha=0.5)+
scale_y_continuous(breaks=number_ticks(20),
limits = c(min=0,max=254000))+
theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())
上面的代码给了我下面的情节:
基本上,图表显示了“mydata2”数据框的“TotalSpending”列中所有值的绘图。
现在,我的挑战是我希望这些值的前 20% 在图中以不同的颜色显示。我该如何应对这一挑战?
我正在考虑在数据框中创建一个新列,在分布中的每一行出现“前 20%”和“其他”等值,然后在我的 ggplot2 代码中使用该新列作为“颜色”的基础.但是,我不知道该怎么做。或者可能是我完全走错了路,还有另一种方法可以实现。
任何帮助将不胜感激。
【问题讨论】:
-
尝试在
aes()中添加color = TotalSpending > quantile(TotalSpending, prob = 0.8)