Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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,我的数据集如下所示: DataFrame <- data.frame(x=runif(25),y=runif(25), z=sample(letters[1:4],25,rep=TRUE)) 但我不确定coord_equal()是否是我要寻找的函数。ggplot2中的等效函数调用可能是什么?也许facet_wrap()是一个更好的选择,据我所知,xlim和ylim对单个面板的控制在ggplot2中不可用。您的问题在于设置自由的facet比例

我的数据集如下所示:

DataFrame <- data.frame(x=runif(25),y=runif(25),
                        z=sample(letters[1:4],25,rep=TRUE))

但我不确定coord_equal()是否是我要寻找的函数。ggplot2中的等效函数调用可能是什么?

也许
facet_wrap()
是一个更好的选择,据我所知,
xlim
ylim
对单个面板的控制在ggplot2

中不可用。您的问题在于设置自由的facet比例。一旦将镶嵌面比例设置为自由,就不能再添加
coord_equal()
如果消除自由比例,则
coord_equal()
可以正常工作。

如果在每个面板上都需要这种控制,那么从技术上讲,就不再是镶嵌面了,根据定义,这是为公共轴设计的。相反,您可以尝试在gridExtra包中查看类似于
grid.arrange的内容。
xyplot(y ~ x | z, data=DataFrame,
       scales=list(relation="free"),
       prepanel=function(x,y,...) {
         rg <- range(na.omit(c(x,y)))
         list(xlim=rg,ylim=rg)
       },panel=function(x,y,...) {
         panel.abline(0,1)
         panel.xyplot(x,y,...)
       })
ggplot(data=DataFrame) + geom_point(aes(x=x,y=y)) +
  facet_grid(~z,scales="free") + coord_equal(ratio=1) +
  geom_abline(intercept=0,slope=1)