使用 stripplot 时隐藏 x 轴?
Hidding x axis when using stripplot?
我正在尝试创建一个 stripplot
,其中 x 轴上的参数名称是希腊字母。那么我希望我的情节用希腊字母而不是 "theta"、"rho" 和 "tau" 下标来标记是很合乎逻辑的。我的策略是隐藏原始标签并在顶部绘制希腊字母。以下示例显示了我到目前为止所做的尝试:
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)),
ylab=NULL,
xaxt='n',
)
dev.off()
但是这段代码也奇怪地消除了 y 轴上的标签。
尝试 1:
我也遵循了 How to hide x-axis in lattice R 中的建议,但结果保留了 x 轴中的名称。
尝试 2:
如何在不改变 y 轴的情况下只删除 x 轴上的标签?
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()
查看 ?stripplot
的帮助页面,尤其是
scales
参数。
Generally a list determining how the x- and y-axes (tick marks and labels) are drawn.
因此使用此参数传递 x 轴的大小和标签参数。
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)))
我正在尝试创建一个 stripplot
,其中 x 轴上的参数名称是希腊字母。那么我希望我的情节用希腊字母而不是 "theta"、"rho" 和 "tau" 下标来标记是很合乎逻辑的。我的策略是隐藏原始标签并在顶部绘制希腊字母。以下示例显示了我到目前为止所做的尝试:
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)),
ylab=NULL,
xaxt='n',
)
dev.off()
但是这段代码也奇怪地消除了 y 轴上的标签。
尝试 1:
我也遵循了 How to hide x-axis in lattice R 中的建议,但结果保留了 x 轴中的名称。
尝试 2:
如何在不改变 y 轴的情况下只删除 x 轴上的标签?
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()
查看 ?stripplot
的帮助页面,尤其是
scales
参数。
Generally a list determining how the x- and y-axes (tick marks and labels) are drawn.
因此使用此参数传递 x 轴的大小和标签参数。
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)))