ggplot で使用されるさまざまな色をプロットするために、次の関数を実装しました。これらの関数は、凡例に 16 進数の色の値もプロットします。しかし、どういうわけか、色と 16 進値の割り当てが間違っていて、その理由がわかりません。data
ggplot2 関数で使用されるデータ フレームに追加する前に、16 進数の色を並べ替えました。これで問題は解決すると思いましたが、解決しませんでした。col
また、実際に凡例として使用したい16進数と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)
(248, 118, 109) の RGB 値と F8766D の 16 進数値として、凡例で 00B0F6 の 16 進数値が割り当てられている赤色