Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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_Plot_Ggplot2_Scale - Fatal编程技术网

R 使用具有相同规模的因子和变量-可能吗?

R 使用具有相同规模的因子和变量-可能吗?,r,plot,ggplot2,scale,R,Plot,Ggplot2,Scale,我想用ggplot绘制来自不同数据帧的数据。然而,我在离散和连续尺度上有问题 假设我们想使用这些数据: x <- rnorm(9,5) y <- rnorm(9,5) f1 <- rep(c("a","b","c"),3) df1 <- data.frame(x,y,f1) x <- rnorm(9,5) y <- rnorm(9,5) f2 <- rep(c("d","e","f"),3) df2 <- data.frame(x,y,f2)

我想用ggplot绘制来自不同数据帧的数据。然而,我在离散和连续尺度上有问题

假设我们想使用这些数据:

x <- rnorm(9,5)
y <- rnorm(9,5)
f1 <- rep(c("a","b","c"),3) 
df1 <- data.frame(x,y,f1)
x <- rnorm(9,5)
y <- rnorm(9,5)
f2 <- rep(c("d","e","f"),3)
df2 <- data.frame(x,y,f2)
x <- rnorm(9,5)
y <- rnorm(9,5)
f1 <- rep(c("a","b","c"),3) 
df1 <- data.frame(x,y,f1)
x <- rnorm(9,5)
y <- rnorm(9,5)
quan <- rnorm(9,1)
df2 <- data.frame(x,y,quan)

x每个绘图只能有一种类型的比例。在第一个示例中,两种情况下的比例都是一个系数,因此您不会收到错误

对于第二个示例,一个用于连续变量(f),另一个用于因子(quan)。当您尝试传递“quan”时,ggplot期望一个连续变量,而不是一个因子,并向您提供错误消息

您应该尝试先使用rbind()进行简化,然后再进行绘图。但请确保数据的格式相同。如果rbind失败,是因为您没有向其传递类似结构的数据帧:

df3 <- rbind(df1,df2) 
p <- ggplot(df3, aes(x,y,colour=f) + geom_point()

df3示例代码中有一些错误。f和quan不存在。这是f1和f2吗?谢谢你指出这一点。我更正了问题中的代码…你能告诉我们“权”是什么吗?上面的代码中仍然有一个错误。试着自己复制并粘贴它。对不起,我做的第一次更正显然不对。现在它真的应该起作用了我要说的是,每个地块的颜色和大小只能有一个刻度。谢谢你们的回答,很抱歉我反应太晚。我曾尝试使用ggplot进行一些高级绘图,但一个比例/绘图的限制不允许深入该方向。但无论如何,我想这就是为什么有一些特殊的地理信息系统软件的原因…;)
p <- ggplot(df1,aes(x,y))
p <- p + geom_point(aes(colour=f1))
p <- p + geom_point(data=df2,aes(x,y,colour=quan))
p

Error: Continuous variable () supplied to discrete scale_hue.
df3 <- rbind(df1,df2) 
p <- ggplot(df3, aes(x,y,colour=f) + geom_point()