我正在使用ggplot绘制群集。我想为群集0自定义颜色,但不知何故它没有用。
Hasil<-Result$cluster
latitude<-datafile$latitude
longitude<-datafile$longitude
stdb<-data.frame(latitude,longitude,Hasil)
plotpeta<- function(stdb){
#read shape file
map<- readOGR(dsn="D:/peta", layer="indo_districts")
map@data$id <- rownames(map@data)
#convert to dataframe
maps<-fortify(map)
mergemap <- join(maps, map@data, by="id")
ggplot(mergemap) + aes(long,lat, group=group) +
geom_polygon(data=map, aes(long, lat, group=group), color="grey") +
geom_path(data=map, color="white")+
geom_polygon(data=mergemap, aes(long,lat))+
theme(legend.position = "bottom") +
geom_point(data=stdb, aes(longitude,latitude,group=1), color="white", size=2) +
geom_point(data=stdb, aes(longitude,latitude, group=1, color=factor(Hasil)), size=2) +
ylab("Longitude") + xlab("Latitude") +
scale_color_hue(name="Hasil", l=40, c=40) +
guides(col=guide_legend(ncol=10, byrow = TRUE, override.aes =list(size=3))) +
guides(fill=guide_legend(ncol=10, byrow=TRUE), size=1)+
coord_equal()
}
这样集群绘图就像这样
我想区分群集0,因为它的噪音。 有关如何使其成为白色的任何建议吗? 谢谢:))
答案 0 :(得分:0)
如果通过创建连锁列表来设置手动调色板:
您可能希望使用scale_color_manual
根据需要应用颜色。
您可以使用values=
参数将颜色分配给分类变量的适当级别,或者如果您有特定的离散数字或系列名称,则可以使用数字。
scale_colour_manual( values = c("0" = "white","1" = "blue","7" = "orange")) +
确保这行代码直接遵循描述数据点的geom_point。
如果你想保留一堆等于“蓝色”的值,只需在值列表中的连续列表中定义所有值:
previous color.., c("1", "2", "3", "4") = "blue" , ...other colors
如果你是明确的,考虑到所有可能的结果,并且对语法一丝不苟,这应该有用。