【发布时间】:2018-08-28 23:40:20
【问题描述】:
我有以下绘制分位数标签和中断的图。目前这是手动完成的。
library(tidyverse)
mtcars %>%
as_tibble() %>%
ggplot(aes(y = mpg, x = hp, color = factor(cyl))) +
geom_point() +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank()) +
scale_y_continuous(labels = as.numeric(quantile(mtcars$mpg)),
breaks = as.numeric(quantile(mtcars$mpg))) +
scale_x_continuous(labels = as.numeric(quantile(mtcars$hp)),
breaks = as.numeric(quantile(mtcars$hp)))
由reprex package (v0.2.0) 于 2018 年 8 月 28 日创建。
我想创建一个对任何数据集执行此操作的函数。这是一次尝试
scale_y_quantile <- function(y){
ggplot2::scale_y_continuous(labels = as.numeric(quantile(y)))
}
然后我尝试如下使用它。
mtcars %>%
as_tibble() %>%
ggplot(aes(y = mpg, x = hp, color = factor(cyl))) +
geom_point() +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank()) +
scale_y_quantile()
but I get the following error
分位数错误(y):找不到对象“y”
问题是我不知道如何访问传递给aes() 的数据。
【问题讨论】: