0
私は、scale_colour_manualで定義されたカスタムカラーを使用して、ggplot2のgeom_ribbonを埋めようとしています。ここで私はCustom ggplot2 shaded error areas on categorical line plotから取った例である:カテゴリデータに基づくgeom_ribbon塗りつぶしのカスタムカラー
set.seed(12345)
data <- cbind(rep("A", 100), rnorm(100, 0, 1))
data <- rbind(data, cbind(rep("B", 100), rnorm(100, 5, 1)))
data <- rbind(data, cbind(rep("C", 100), rnorm(100, 10, 1)))
data <- rbind(data, cbind(rep("D", 100), rnorm(100, 15, 1)))
data <- cbind(rep(1:100, 4), data)
data <- data.frame(data)
names(data) <- c("num", "category", "value")
data$num <- as.numeric(data$num)
data$value <- as.numeric(data$value)
data$upper <- data$value+10
data$lower <- data$value-10
data = data[order(data$category, data$num),]
data$upperLoess = unlist(lapply(LETTERS[1:4],
function(x) predict(loess(data$upper[data$category==x] ~
data$num[data$category==x]))))
data$lowerLoess = unlist(lapply(LETTERS[1:4],
function(x) predict(loess(data$lower[data$category==x] ~
data$num[data$category==x]))))
ggplot(data, aes(num, value, colour=category, fill=category)) +
scale_colour_manual(values = c("A"="black", "B"="red", "C"="magenta", "D"="green")) +
geom_smooth(method="loess", se=FALSE) +
geom_ribbon(aes(x=num, ymax=upperLoess, ymin=lowerLoess, fill=category),
alpha=0.2)
、カテゴリ変数「カテゴリ」のために定義された色が使用されていません。代わりに、デフォルトのパレット(scale_colour_hue?)が使用されます。
ggplot(data, aes(num, value, colour=category, fill=category)) +
scale_colour_manual(values = c("A"="black", "B"="red", "C"="magenta", "D"="green")) +
geom_smooth(method="loess", se=FALSE) +
geom_ribbon(aes(x=num, ymax=upperLoess, ymin=lowerLoess), fill="red",
alpha=0.2)
すべてのアイデアは、その結果:私は、AES外フィル引数を置くことができますか?どうもありがとう!
'color'美的は線/点/ボーダーのためのものである、' fill'美的は、領域(バー、多角形、リボン)のためのものです。 'scale_colour_manual'を' scale_fill_manual'に変更するだけです。 'geom_ribbon'呼び出しで' fill = "red" 'を削除して、スケールを上書きしないようにしてください。 – Gregor
その簡単な解決策をありがとう! –