请考虑以下代码:
library(ggplot2)
ggplot(diamonds, aes("", price)) + geom_boxplot() + coord_flip()
翻转方框图后,如何在价格上放大c(0,7000)
(这是新的x轴)?
我觉得它与coord_cartesian(ylim=c(0, 7000))
,有关,但这似乎与 coord_flip()
无关。
答案 0 :(得分:5)
这是我的解决方案:
ggplot(diamonds, aes("", price)) +
geom_boxplot() +
coord_flip(ylim=c(0, 7000))
只需将ylim
命令组合为coord_flip()
中的参数。
答案 1 :(得分:0)
您可以使用scale_y_continuous()
:
library(ggplot2)
ggplot(diamonds, aes("", price)) +
geom_boxplot() +
coord_flip() +
scale_y_continuous(limits = c(0, 7000))
请记住,coord_flip()只是旋转绘图,因此您在 y 轴上调用scale_,这是您指定的price
。我通常喜欢把它称为最后一个原因:帮助限制哪个轴的混淆!
答案 2 :(得分:-1)
我认为您需要手动计算箱线图统计数据并绘制这些数据。
# Compute summary statistics with max (y100) set to cutoff (7000)
df <- data.frame(x = 1,
y0 = min(diamonds$price),
y25 = quantile(diamonds$price, 0.25),
y50 = median(diamonds$price),
y75 = quantile(diamonds$price, 0.75),
y100 = 7000
)
ggplot(df, aes(x)) +
geom_boxplot(aes(ymin = y0, lower = y25, middle = y50, upper = y75, ymax = y100),
stat = "identity") +
coord_flip()