使用stripplot时隐藏x轴?

时间:2016-07-23 17:18:43

标签: r lattice

我试图创建一个>>> [s for s in L if ' and ' in s] ['John and Mary', 'Iva and Mark Li'] ,其中x轴上的参数名称是希腊字母。因此我希望我的情节用希腊字母标记而不是" theta"," rho"和" tau"标。我的策略是隐藏原始标签并在顶部绘制希腊字母。以下示例显示了到目前为止我尝试过的内容:

stripplot

但是这段代码也奇怪地消除了y轴上的标签。

尝试1:

enter image description here

我也遵循了How to hide x-axis in lattice R中的建议,但结果保留了x轴上的名称。

尝试2:

enter image description here

如何在不改变y轴的情况下消除x轴上的标签?

2 个答案:

答案 0 :(得分:2)

查看?stripplot的帮助页面,特别是{。}} scales论证。

  

通常是确定如何绘制x轴和y轴(刻度线和标签)的列表。

因此,使用此参数传递x轴的size和labels参数。

stripplot(val1 + val2 ~ Parameters, data = dat, pch=c(1,2), cex=2,
   scales=list(x=list(cex=1.5, 
                      labels=c(expression(rho),expression(tau),expression(theta))
)))

这很笨重但如果你有许多x轴元素会有所帮助。

labels=as.expression(sapply(levels(dat$Parameters), function(x)  as.name(x)))

labels=parse(text=as.character(sort(dat$Parameters)))

enter image description here

答案 1 :(得分:1)

library(lattice)

data <- data.frame(Parameters=c("theta","rho","tau"),val1=c(1,2,4),val2=c(2,3,4))

png("plot.png")
stripplot(val1 + val2 ~ Parameters, data = data, pch=c(1,2), cex=2,
          scales=list(cex=c(0,1.5)),
          xlab=c(expression(rho),expression(tau),expression(theta)),
          xaxt='n',

)
dev.off()

enter image description here