r - 使用 facet_grid() 创建相等且漂亮的比例中断
问题描述
我想使用facet_grid()
, 为 y 轴创建一个图。但是,对于每一行,刻度间断应该均匀分布,即 3 个间断。我从这个问题中借来的,但我无法以某种方式调整代码,使比例中断实际上很漂亮。
但是,这是我目前的方法:
# Packages
library(dplyr)
library(ggplot2)
library(scales)
# Test Data
set.seed(123)
result_df <- data.frame(
variable = rep(c(1,2,3,4), each = 4),
mode = rep(c(1,2), each = 2),
treat = rep(c(1,2)) %>% as.factor(),
mean = rnorm(16, mean = .7, sd = 0.2),
x = abs(rnorm(16, mean = 0, sd = 0.5))) %>%
mutate(lower = mean - x,upper = mean + x)
# Function for equal breaks, lended from
equal_breaks <- function(n = 3, s = 0.05, ...) {
function(x) {
d <- s * diff(range(x)) / (1+2*s)
round(seq(min(x)+d, max(x)-d, length=n), 2)
}}
## Plot
result_df %>%
ggplot(aes(y = mean*100, x = treat)) +
geom_pointrange(aes(ymin = lower*100, ymax = upper*100), shape = 20) +
facet_grid(variable ~ mode, scales = "free_y")+
scale_y_continuous(breaks = equal_breaks(n = 3, s = .2))+
labs(x = "", y = "")
这导致了这个当前的情节。可以看出,休息时间远非合理。
提前感谢您的任何建议,如果我错过了已经存在的解决方案,请原谅我。
最好的,马耳他
解决方案
推荐阅读
- kotlin - 使用 `RoutingContext::json` 方法时如何设置响应状态码?
- r - ggplot R中的向量
- ignite - 如何在 apache ignite 中使用递归数据库调用?
- javascript - 如何在 getServerSideProps() 函数中访问组件的道具?
- ios - XIB 文件中的自定大小自定义单元格不起作用。TableView 也在 XIB 文件中
- python - 执行插入查询将日期包含到 python 访问中
- php - ETSY Api PHP 获取令牌凭证
- python - 使用 Python 按数组名称在 MongoDB 中查找文档?
- jquery - 我正在尝试使用数据库中的 ajax 在 jsp 中创建一个自动填充的文本框
- python - 为什么在 python 中可以在循环期间从列表中删除元素?