1
我正在创建一个情节,我需要在单个图例中混合使用名称,颜色和形状。 看来传说为我的数据按classname生成与我的班级形状和颜色不匹配的字母顺序排序...我需要为每个超类A,B,C设置独特的形状,所以我期望将A1,A2,A3作为三角形,并且B1,B2为圆圈。如何强制图例名称遵循与我的数据中的颜色和形状相同的顺序? (我不想在这没有意义的我的实际应用中的传奇字母顺序排列)保持我的数据在ggplot图例中的颜色和形状相结合的排序
这里我的数据和代码:
library(ggplot2)
x<-c(1,2,3,4,5,6,7,8,9)
y<-c(1,1,2,2,2,3,3,3,3)
classNames<-c("B1","B2","A1","A2","A3","C1","C2","C3","C4")
classColors<-c("darkorange","darkorange3","cyan","blue","blue4","green1","green2","green3","green4")
classShapes<-c(1,1,2,2,2,3,3,3,3)
datadf<-data.frame(x,y,classNames,stringsAsFactors = FALSE)
ggplot()+
geom_point(data=datadf,aes(x=x,y=y,shape=classNames,color=classNames))+
scale_color_manual(name="My classes",values=classColors)+
scale_shape_manual(name="My classes",values=classShapes)
如果我用这个代替ggplot,名称与形状和颜色相匹配,并提出在传说中的良好秩序,但现在他们不图中的点匹配...
ggplot()+
geom_point(data=datadf,aes(x=x,y=y,shape=classNames,color=classNames))+
scale_color_manual(name="My classes",values=classColors,labels=classNames) +
scale_shape_manual(name="My classes",values=classShapes,labels=classNames)
太好了!这是我错过了很多天的诀窍。谢谢! – Mica
如果解决了您的问题,请考虑标记为已接受。谢谢 – missuse