小编Ped*_*nda的帖子

自动检测自定义 ggplot2 中的离散或连续调色板

我正在开发一个名为ipeaplot主题和调色板标准化的包。我们所做的尝试之一是创建一个scale_color()能够区分用户传递的是连续列还是离散列的函数(例如,如果列类是数字或整数,则尺度选择应该是连续的,否则应该是离散的)

下面是代码示例

# Install package
remotes::install_github("ipeadata-lab/ipeaplot")
library(ggplot2)
library(ipeaplot)
Run Code Online (Sandbox Code Playgroud)

这段代码可以工作,但是请注意我必须指定我想要的是连续的比例

ggplot(data = mtcars, aes(x = mpg, y = hp, color = gear)) +
  geom_point() + 
  scale_color_ipea(discrete = F)
Run Code Online (Sandbox Code Playgroud)

此代码返回以下错误:“错误:向离散刻度提供连续值”

ggplot(data = mtcars, aes(x = mpg, y = hp, color = as.character(gear))) +
  geom_point() + 
  scale_color_ipea(discrete = T)
Run Code Online (Sandbox Code Playgroud)

所以我需要手动设置,scale_color_ipea(discrete = T)但我希望该功能能够自动检测列的类别并相应地使用足够的色标。

ggplot(data = mtcars, aes(x = mpg, y = hp, color = as.character(gear))) +
  geom_point() + 
  scale_color_ipea(discrete = T)
Run Code Online (Sandbox Code Playgroud)

有人会建议如何做到这一点吗?

r ggplot2

4
推荐指数
1
解决办法
92
查看次数

标签 统计

ggplot2 ×1

r ×1