R ggplot2:两个不同数据集的图例
我正在使用形状文件绘制带有ggplot的地图。然后,我使用geom_线添加圆弧。圆弧根据其类型(单向或双向)着色,然后我使用geom_点添加节点。节点根据其类型(起点、终点、节点、停车场)着色。我想要两个不同的图例:一个用于节点类型,一个用于圆弧类型。不幸的是,ggplot合并了图例,只生成一个图例 以下是代码(很抱歉,我无法提供一个可行的示例。我无法发送形状文件):R ggplot2:两个不同数据集的图例,r,ggplot2,R,Ggplot2,我正在使用形状文件绘制带有ggplot的地图。然后,我使用geom_线添加圆弧。圆弧根据其类型(单向或双向)着色,然后我使用geom_点添加节点。节点根据其类型(起点、终点、节点、停车场)着色。我想要两个不同的图例:一个用于节点类型,一个用于圆弧类型。不幸的是,ggplot合并了图例,只生成一个图例 以下是代码(很抱歉,我无法提供一个可行的示例。我无法发送形状文件): cityplot这里有一个可能的解决方法。如果您可以在aes()调用中保留geom_多边形填充-如上所述,那么您可以对点使用填充
cityplot这里有一个可能的解决方法。如果您可以在aes()
调用中保留geom_多边形
填充-如上所述,那么您可以对点使用填充形状(21是一个圆),并在aes()
调用中设置填充属性而不是颜色。见下文:
mock_data<-
data.frame(x=sample(1:10,20,T),
y=sample(1:10,20,T),
direction=sample(c("1way","2way"),20,T),
type=sample(c("origin","destination","node","lot"),20,T))
ggplot(mock_data) +
geom_polygon(aes(x=c(0,12,12,0),y=c(0,0,12,12),id=c(1,1,1,1)),fill="white") +
geom_point(aes(x=x,y=y,fill=type),size=10,shape=21) +
geom_line(aes(x=x,y=y,color=direction),size=2) +
scale_fill_brewer(palette="Greens") + scale_color_brewer(palette="Set1")
mock_dataCare是否可以让您的问题重现?我们无法访问您的数据。事实上,能够在我们自己的会话中使用代码会有所帮助。我想你已经看过帮助文件了吧?另一方面,我确实记得在一个单独的绘图中只能有一个色阶(或图例,我不确定)。
mock_data<-
data.frame(x=sample(1:10,20,T),
y=sample(1:10,20,T),
direction=sample(c("1way","2way"),20,T),
type=sample(c("origin","destination","node","lot"),20,T))
ggplot(mock_data) +
geom_polygon(aes(x=c(0,12,12,0),y=c(0,0,12,12),id=c(1,1,1,1)),fill="white") +
geom_point(aes(x=x,y=y,fill=type),size=10,shape=21) +
geom_line(aes(x=x,y=y,color=direction),size=2) +
scale_fill_brewer(palette="Greens") + scale_color_brewer(palette="Set1")