Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.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 当使用两个变量对每个方面进行注释时,分别对qplot上的每个方面进行注释_R_Ggplot2_Facet_Annotate - Fatal编程技术网

R 当使用两个变量对每个方面进行注释时,分别对qplot上的每个方面进行注释

R 当使用两个变量对每个方面进行注释时,分别对qplot上的每个方面进行注释,r,ggplot2,facet,annotate,R,Ggplot2,Facet,Annotate,我正在生成一个具有4个面的面图,使用两个变量(每个变量具有2个级别)来定义面 我使用的代码如下: qplot(hp, mpg, data=mtcars, facets=vs~am, size=I(3), geom=c("point","smooth"), xlab="Horsepower", ylab="Miles per Gallon") 我试图在每个刻面上放置一个唯一的标签,上面写着“坡度=直线的坡度” 我在这里看到了一些问题,这些问题描述了当面被一个变量(而不是2)定义时如何实

我正在生成一个具有4个面的面图,使用两个变量(每个变量具有2个级别)来定义面

我使用的代码如下:

qplot(hp, mpg, data=mtcars, 
  facets=vs~am, size=I(3), geom=c("point","smooth"),
  xlab="Horsepower", ylab="Miles per Gallon")
我试图在每个刻面上放置一个唯一的标签,上面写着“坡度=直线的坡度”

我在这里看到了一些问题,这些问题描述了当面被一个变量(而不是2)定义时如何实现这一点。如何添加唯一的标签

我知道我可以使用geom_文本,类似这样的东西

geom_text(sig=c("Slope = 1","Slope = 2","Slope = 3","Slope = 4")),aes(x=4.5,y=1,label=sig))
尝试:


我还发现了一种方法,它允许您更改其中一个标签的放置位置。并非所有的标签都必须在相同的x,y坐标上

mtcars[, c("cyl", "am", "gear")] <- lapply(mtcars[, c("cyl", "am", "gear")], as.factor)

attach(mtcars)

p <- qplot (hp, mpg, facets=vs~am, size=I(3), xlab="hp", ylab="mpg")

len <- length(levels(mtcars$vs)) *  length(levels(mtcars$am))
vars <- data.frame(expand.grid(levels(mtcars$vs), levels(mtcars$am)))
colnames(vars) <- c("vs", "am")
dat <- data.frame(x = 300, y = 50, vars, labs=LETTERS[1:len])

p <- p + geom_text(aes(x, y,
    label=c("Slope = 1","Slope = 2","Slope = 3","Slope = 4"),
    group=NULL), data=dat)

p

mtcars[,c(“cyl”、“am”、“gear”)]您需要在
data.frame
中定义
vs
am
(刻面变量)的值,并使用上面更正的文本。你现在可以取消否决票了!谢谢我在等待香农的反馈。你想在facet中更改文本,对吗?这可能不是最好的,但是改变因子名称怎么样?我基本上想在数据中没有的每个方面添加注释。
mtcars[, c("cyl", "am", "gear")] <- lapply(mtcars[, c("cyl", "am", "gear")], as.factor)

attach(mtcars)

p <- qplot (hp, mpg, facets=vs~am, size=I(3), xlab="hp", ylab="mpg")

len <- length(levels(mtcars$vs)) *  length(levels(mtcars$am))
vars <- data.frame(expand.grid(levels(mtcars$vs), levels(mtcars$am)))
colnames(vars) <- c("vs", "am")
dat <- data.frame(x = 300, y = 50, vars, labs=LETTERS[1:len])

p <- p + geom_text(aes(x, y,
    label=c("Slope = 1","Slope = 2","Slope = 3","Slope = 4"),
    group=NULL), data=dat)

p
dat[1, 1:2] <- c(200, 20)   #to change specific locations
p