我正在尝试创建一个带有误差线的 ggvis 图。我决定将平均值绘制为点,将误差线绘制为矩形。这是我的数据集:
mivector<-c(1.5,2,2.5,2,2.5,3,2.5,3,3.5)
treats<-c("A","A","A","B","B","B","C","C","C")
library(ggvis)
library(dplyr)
plotdf<-data.frame(mivector,treats)
plotdf<- plotdf %>% group_by(treats) %>%
summarise(mimean=mean(mivector),misd=sd(mivector)) %>%
mutate(milow=mimean-misd,mihigh=mimean+misd,mileft=as.numeric(treats)-0.005,miright=as.numeric(treats)+0.005,treatsno=as.numeric(treats)) %>%
select(-misd)
这是我正在尝试制作的绘图代码:
plotdf %>% ggvis() %>% layer_points(~treatsno,~mimean) %>%
layer_rects(prop("x",~mileft),prop("y",~milow),prop("x2",~miright),prop("y2",~mihigh),fillOpacity:=1) %>%
scale_numeric("y", domain = c(0, 5)) %>%
add_axis("y",grid=F) %>%
add_axis("x",ticks=length(plotdf$treats),grid=F,properties=axis_props(labels=list(text=c("a","b","c"))))
我陷入了无法正确为轴刻度分配标签的地步。我没有对应文本“a”,“b”和“c”的3个刻度,而是每个刻度都有“a,b,c”。
你能指出我做错了什么吗?也许通常有一种更简单的方法来制作我不知道的错误栏?
先感谢您!