我喜欢JMP变异图。 (this page)这是一个强大的工具。
该示例具有2个x轴标签,一个用于部件号,另一个用于操作员。 link
此处JMP可变性图显示超过2个级别的变量。以下按油量,批量大小和爆米花类型进行拆分。找到正确的序列以显示最强的分离可能需要一些工作,但这是一个很好的信息交流工具
如何做到这一点,多级x标签,R使用ggplot2库?
我能找到的最好的是(,link),它根据柱面数分开,但不会制作x轴标签。
我的示例代码是:
#reproducible
set.seed(2372064)
#data (I'm used to reading my own, not using built-in)
data(mtcars)
attach(mtcars)
#impose factors as factors
fact_idx <- c(2,8:11)
for(i in fact_idx){
mtcars[,i] <- as.factor(mtcars[,i])
}
#boxplot
p <- ggplot(mtcars, aes(gear, mpg, fill=cyl)) +
geom_boxplot(notch = TRUE)
p
这给出的情节是:
如何使x轴标签指示齿轮和气缸?
答案 0 :(得分:4)
您可以使用R-package VCA,它附带功能varPlot,实现类似于JMP的可变性图表。帮助中提供了多个示例。你的例子看起来像这样:
library(VCA)
dat <- mtcars[order(mtcars$cyl, mtcars$gear),]
# default
varPlot(mpg~cyl/gear, dat)
# nicely formatted
varPlot(mpg~cyl/gear, dat,
BG=list(var="gear", col=paste0("gray", c(90,80,70)),
col.table=T),
VLine=list(var="cyl"), Mean=NULL,
MeanLine=list(var=c("cyl", "gear"), col=c("blue", "orange"),
lwd=c(2,2)),
Points=list(pch=16, cex=1))