gpt4 book ai didi

r - 绘制 Luv 颜色;从 ggplot2 书中复制图 6.11

转载 作者:行者123 更新时间:2023-12-04 09:53:19 24 4
gpt4 key购买 nike

我正在尝试复制 Hadley Wickham 的 ggplot2 book 中的图 6.11 , 在 Luv 空间中绘制 R 颜色;点的颜色代表它们自己,不需要图例。 enter image description here

这里有两种尝试:

library(colorspace)
myColors <- data.frame("L"=runif(10000, 0,100),"a"=runif(10000, -100, 100),"b"=runif(10000, -100, 100))
myColors <- within(myColors, Luv <- hex(LUV(L, a, b)))
myColors <- na.omit(myColors)
g <- ggplot(myColors, aes(a, b, color=Luv), size=2)
g + geom_point() + ggtitle ("mycolors")

enter image description here

第二次尝试:

other <- data.frame("L"=runif(10000),"a"=runif(10000),"b"=runif(10000))
other <- within(other, Luv <- hex(LUV(L, a, b)))
other <- na.omit(other)
g <- ggplot(other, aes(a, b, color=Luv), size=2)
g + geom_point() + ggtitle("other")

enter image description here

有几个明显的问题:

  1. 这些图表看起来一点也不像图中所示。任何建议需要的代码?
  2. 第一次尝试在 Luv 中生成大量 NA 字段列(在 10,000 次运行中只有 ~3100 种命名颜色,而在 ~9950第二轮)。如果 L 应该在 0-100 和 u 和 v 之间在 -100 到 100 之间,为什么我在第一次运行时有这么多 NA?我试过四舍五入,但没用。
  3. 为什么我有传奇?

非常感谢。

最佳答案

你会得到奇怪的颜色,因为 aes(color = Luv) 说“为列 Luv 中的每个唯一字符串分配颜色”。如果您在 aes 之外分配 color,如下所示,这意味着“使用这些明确的颜色”。我认为像这样的东西应该接近你提供的数字。

require(colorspace)
x <- sRGB(t(col2rgb(colors())))
storage.mode(x@coords) <- "numeric" # as(..., "LUV") doesn't like integers for some reason
y <- as(x, "LUV")
DF <- as.data.frame(y@coords)
DF$col <- colors()
ggplot(DF, aes( x = U, y = V)) + geom_point(colour = DF$col)

关于r - 绘制 Luv 颜色;从 ggplot2 书中复制图 6.11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14826686/

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