r - ggplot2 默认蓝色和灰色 - 它们具体是什么“蓝色”和“灰色”
问题描述
我正在创建默认的平滑条件均值图。
library(ggplot2)
ggplot(mpg, aes(displ, hwy)) + geom_point() + geom_smooth()
默认的蓝线颜色是什么?线周围置信区间的默认深灰色背景是什么?你是怎么想出来的?
我想在我的其他一些情节中使用这两种确切的颜色,以保持一致。
解决方案
您可以ggplot_build
在ggplot
对象上使用来检查其组件。此函数返回的ggplot_built
对象包括一个名为 的列表data
,其中包含用于构建每个 geom 的内部数据。在这种情况下,geom_smooth
是第二个 geom,因此可以使用ggplot_build(p)$data[[2]]
.
library(tidyverse)
p <- ggplot(mpg, aes(x = displ, y = hwy)) +
geom_point() +
geom_smooth(method = "lm")
ggplot_build(p)$data[[2]] %>% head()
#> x y ymin ymax se PANEL group colour fill
#> 1 1.600000 30.04871 29.17768 30.91974 0.4420916 1 -1 #3366FF grey60
#> 2 1.668354 29.80738 28.95779 30.65696 0.4312076 1 -1 #3366FF grey60
#> 3 1.736709 29.56605 28.73763 30.39446 0.4204623 1 -1 #3366FF grey60
#> 4 1.805063 29.32471 28.51718 30.13225 0.4098667 1 -1 #3366FF grey60
#> 5 1.873418 29.08338 28.29640 29.87036 0.3994326 1 -1 #3366FF grey60
#> 6 1.941772 28.84205 28.07529 29.60882 0.3891730 1 -1 #3366FF grey60
#> size linetype weight alpha
#> 1 1 1 1 0.4
#> 2 1 1 1 0.4
#> 3 1 1 1 0.4
#> 4 1 1 1 0.4
#> 5 1 1 1 0.4
#> 6 1 1 1 0.4
如您所见,用于构建的默认值geom_smooth
是“#3366ff”颜色和“grey60”填充。
这是构建类似图的一个非常懒惰的示例 - 显然我没有花时间计算实际的标准误差区域,只是制作一条粗灰线来说明从构建的图中检索到的颜色和 alpha。
mod_coef <- lm(hwy ~ displ, mpg)$coefficients
ggplot(mpg, aes(x = displ, y = hwy)) +
geom_point() +
geom_abline(intercept = mod_coef[1], slope = mod_coef[2], color = "grey60", alpha = 0.4, size = 6) +
geom_abline(intercept = mod_coef[1], slope = mod_coef[2], color = "#3366FF", size = 1)
推荐阅读
- python - 登录失败 (pyodbc.InterfaceError) ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]用户 'xxxx' 登录失败
- python - 如何比较两个不同数组中的值?
- python - 序列化 PonyORM 查询或对象列表的最有效方法
- elasticsearch - 如何从键的每个唯一值中获取最新记录
- python - 在 Python 中使用具有工作凭据的标准 coinfloor API 会创建错误消息:WebSocketException
- html - 在 3D 空间中垂直于父 div 旋转子 div
- python - 在 python 中不使用 selenium 保存文本
- exim - exim 4.94 中发生了什么变化,更新后行抛出错误
- ruby-on-rails - Rails 6.1 失败的迁移不再阻止 rails 运行?
- laravel - laravel livewire 干预 图片