相关疑难解决方法(0)

ggplot错误的颜色分配

我实现了以下函数来绘制ggplot使用的不同颜色.它们还可以绘制图例中的十六进制颜色值.但是,不知何故,颜色和十六进制值的分配是错误的,我不明白为什么.我在将十六进制颜色添加到数据框之前对其进行了排序,data然后在ggplot2函数中使用.我认为这样可以解决问题,但事实并非如此.我还创建了col包含十六进制的矢量以及我实际想要作为图例的rgb颜色值,但我也在努力使这个工作

ggplot_colors <- function(n, size=8, alpha=1) {
    library(grDevices)
    hues = seq(15, 375, length=n+1)
    cols_hex <- sort(hcl(h=hues, l=65, c=100)[1:n])
    cols_rgb <- col2rgb(cols_hex)
    cols_rgb <- apply(cols_rgb, 2, function(x){paste(x, collapse=",")})
    cols <- paste(cols_hex, cols_rgb, sep="; ")
    data <- data.frame(x=1:length(cols), 
                       y=1:length(cols), 
                       cols_hex=cols_hex, 
                       cols_rgb=cols_rgb, 
                       cols=cols)
    ggplot(NULL) +
      geom_point(data=data, 
                 aes(x=x, y=y, colour=cols_hex), size=size, alpha=alpha)
}

ggplot_colors(15, 8, 1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

作为RGB值(248,118,109)和十六进制值F8766D的红色在图例中分配了十六进制值00B0F6

r ggplot2

7
推荐指数
1
解决办法
4252
查看次数

标签 统计

ggplot2 ×1

r ×1