我想在使用stat_boxplot(geom = "errorbar")
时更改晶须的线宽:
set.seed(42)
df <- data.frame(cond = factor( rep(c("A","B"), each=500) ),
value = c(rnorm(500,mean=1,sd=0.2),rnorm(500, mean=1.5,sd=0.1)))
ggplot(df, aes(x=cond, y=value)) + geom_boxplot(lwd=0.2)
ggplot(df, aes(x=cond, y=value)) +
stat_boxplot(geom = "errorbar",
stat_params = list(width = 0.5,size = 5.0)) +
geom_boxplot(lwd=0.2)
在第二个图中,
lwd=0.2
更改了框中线条的粗细,但晶须保持不变。更新
谢谢@ eipi10,
ggplot(df, aes(x=cond, y=value)) + stat_boxplot(geom = "errorbar",
width = 0.5, size=0.2) + geom_boxplot(lwd=0.2)
您的解决方案更改了晶须线的粗细,但使其末端的水平线与框一样宽,而不是框的一半(宽度= 0.5)。
但是使用
ggplot(df, aes(x=cond, y=value)) + stat_boxplot(geom ="errorbar",
stat_params = list(width = 0.5), size=0.2) + geom_boxplot(lwd=0.2)
或者
ggplot(df, aes(x=cond, y=value)) + stat_boxplot(geom = "errorbar",
stat_params = list(width = 0.5, size=0.2)) + geom_boxplot(lwd=0.2)
则晶须的宽度是预期的框的一半,但其线粗是默认的,比框的线粗。
换句话说,我不能同时更改线条的粗细和晶须的宽度。
更新两个
使用这两段代码,我得到的结果相同(都没有stat_params)
ggplot(df, aes(x=cond, y=value)) + stat_boxplot(geom = "errorbar",
width=0.5, size=5) + geom_boxplot(lwd=0.2)
ggplot(df, aes(x=cond, y=value)) + stat_boxplot(geom = "errorbar",
width=0.2, size=5) + geom_boxplot(lwd=0.2)
约瑟
最佳答案
如果我了解您的问题,我认为这是您要寻找的内容:
ggplot(df, aes(x=cond, y=value)) +
stat_boxplot(geom = "errorbar", width=0.5, size=5) +
geom_boxplot(lwd=0.2)
这是使用两种不同的
width
设置的结果:关于r - 如何使用stat_boxplot(geom = “errorbar”)更改晶须的线宽,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32550204/