gpt4 book ai didi

r - 离散与连续情况下的映射与设置颜色

转载 作者:行者123 更新时间:2023-12-05 03:10:42 25 4
gpt4 key购买 nike

我是 ggplot 的新手。我想了解如何使用 ggplot。我正在阅读 Wickham 的书,但仍在努力思考映射与设置颜色之间的关系。

A) 离散案例这是我所做的:

library(dplyr)
library(ggplot2)
test<-filter(mpg,year==2008)
test<-test[1:10,]
grid <- data_frame(displ = seq(min(mpg$displ), max(mpg$displ), length = 50))
mod <- loess(hwy ~ displ, data = mpg)
grid$hwy <- predict(mod, newdata = grid)

a) 使用离散值然后使用 (aes(color = "xyz"))

ggplot(mpg,aes(displ,hwy)) +
geom_point() +
geom_text(data = test,aes(label=trans,color = "blue"))

这只是添加了一个标签为“blue”的图例。为什么会这样?

b) 在美学之外提供 color = "blue"。

ggplot(mpg,aes(displ,hwy)) +
geom_point() +
geom_text(data = test,aes(label=trans),color = "blue")

这有效并将颜色更改为“蓝色”。

B)连续情况

a) 使用 (aes(color = "xyz"))这是我所做的:

ggplot(mpg,aes(displ,hwy)) +
geom_point() +
geom_line(data = grid, aes(colour = "green"),size=1.5)

与案例 a) 一样,对于离散案例,这会添加一 strip 有文本“绿色”的粉红色线条

b) 提供美学之外的颜色。

ggplot(mpg,aes(displ,hwy)) +
geom_point() +
geom_line(data = grid, colour = "green",size=1.5)

在这里,线条的颜色确实变成了“绿色”,而且我丢失了标签。

所以,我不理解 aes(colour = "xyz") 的值。它所做的只是添加一个标签。不是吗?我们为什么要使用它?

最佳答案

Data - 数据列或数据列的转换,进入aes()。当您执行 aes(color = 'blue') 时,就好像您的数据有一个未命名的列,每一行都有字符串 "blue"

ggplot(mpg,aes(displ,hwy)) +
geom_point() +
geom_text(data = test, aes(label = trans, color = "blue"))

在此上下文中,"blue" 不是颜色 - 它只是一个字符串。如果您使用 color = "green",color = "bleu"color = "look,您将获得相同的结果(标签除外)在这个长长的标签上” - 如果它们在 aes() 中。

一个字符串——即使它只有一个值——将被强制转换为一个因子并被视为一个离散变量。

如果您不遵循一般规则,这可能会造成混淆: 不要将常量放入 aes() - 只将映射放入实际数据列。

您似乎对连续色标和离散色标感到困惑。在颜色方面,您标记为“连续案例”的内容仍然是离散的。使用 geom_pointgeom_line、平滑的 geom 或任何其他 geom 不会使颜色离散或连续。选择离散或连续色标唯一重要的是映射到颜色的数据类型()。如果它是数字,默认色标将是连续的。如果它不是数字,则默认色标将是离散的。

关于r - 离散与连续情况下的映射与设置颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39109868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com