Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从两个数据帧构建绘图时的两个图例_R_Ggplot2 - Fatal编程技术网

R 从两个数据帧构建绘图时的两个图例

R 从两个数据帧构建绘图时的两个图例,r,ggplot2,R,Ggplot2,我有两个数据帧,如下所示: library(ggplot2) set.seed(1) x1 = rnorm(100) y1 = rnorm(100) x2 = rnorm(100) y2 = rnorm(100) df1 = data.frame(x=x1, y=y1, col1 = rep(1:4, each = 25)) df2 = data.frame(x=x2, y=y2, col2 = rep(5:8, each = 25)) 我绘制了以下数据: ggplot() + g

我有两个数据帧,如下所示:

library(ggplot2)

set.seed(1)
x1 = rnorm(100)
y1 = rnorm(100)

x2 = rnorm(100)
y2 = rnorm(100)

df1  = data.frame(x=x1, y=y1, col1 = rep(1:4, each = 25))
df2 = data.frame(x=x2, y=y2, col2 = rep(5:8, each = 25))
我绘制了以下数据:

ggplot() +
  geom_point(aes(x = x1, y = y1,  colour = as.factor(col1)), data = df1, size = 1, shape = 19) +
  geom_point(aes(x = x2, y = y2,  colour = as.factor(col2)), data = df2, size = 2, shape = "\u2605")
结果是:

如何为每个数据帧获取两个单独的图例? 图例还应正确反映使用的形状,并让我为每个图例指定图例标题


我知道这是存在的,但它很旧,需要可以填充的符号,我想使用自定义unicode符号。

这可以通过
ggnewscale
包实现,该包允许为相同的aestethic添加额外的比例和图例。试试这个:

库(ggplot2)
种子(1)
x1=rnorm(100)
y1=rnorm(100)
x2=rnorm(100)
y2=rnorm(100)
df1=数据帧(x=x1,y=y1,col1=rep(1:4,每个=25))
df2=数据帧(x=x2,y=y2,col2=rep(5:8,每个=25))
ggplot()+
几何点(aes(x=x1,y=y1,颜色=as.factor(col1)),数据=df1,尺寸=1,形状=19)+
ggnewscale::新的缩放颜色()+
几何点(aes(x=x2,y=y2,颜色=as.factor(col2)),数据=df2,大小=2,形状=“\u2605”)