特定のプロットに関する質問があります。私は、次のdata.frame持って考えてみましょう:私は3つの多角形(X、A)、(X、D)、(X、e)をプロットしたいggplot2で特定の行と1つの凡例を表示する
data <- data.frame(a = c(44, 58, 60, 63, 65, 66, 67, 68, 69, 70),
b = c(38, 52, 55, 57, 59, 60, 61, 62, 63, 65),
c = c(51, 64, 66, 68, 70, 71, 71, 73, 74, 75),
d = c(44, 53, 54, 55, 56, 56, 58, 59, 59, 60),
e = c(44, 57, 59, 60, 62, 63, 64, 65, 66, 67),
x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
rownames(data) = c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J')
を三つの異なる線種 '固体'、 ' 「ダッシュ」と「ダッシュ」。彼らはすべて伝説に登場するはずです。私はポリゴン(x、b)、(x、c)を線種「点線」でプロットし、それらの間に赤を配置したいと思う。赤い領域のみが凡例に表示されますが、点線自体は表示されません。これを行うには、次のコード行を書きました。
data_no_legend = data[,c(2,3,6)]
data_legend = data[,c(1,4,5,6)]
data_melt_legend = melt(data_legend, id = "x")
data_melt_no_legend = melt(data_no_legend, id = "x")
p <- ggplot()
p <- p + geom_ribbon(data = data, aes(x = x, ymin = b, ymax = c,fill = 'legend'), alpha = 0.5, show.legend = TRUE, inherit.aes = FALSE)
p <- p + scale_fill_manual(labels = c("legend"), values = c('red'))
p <- p + geom_line(data = data_melt_legend, aes(x = x, y = value, size = variable, linetype= variable), color = 'gray', show.legend = TRUE, inherit.aes=FALSE)
p <- p + scale_linetype_manual(labels = c("legend 1","legend 2", "legend 3"),values = c("solid","dashed", "dotdash"))
p <- p + scale_size_manual(labels = c("legend 1","legend 2", "legend 3"),values = c(1,0.5,0.5))
p <- p + geom_line(data = data_melt_no_legend, aes(x = x, y = value, group= variable), color= 'gray', linetype = 'dotted', show.legend = FALSE, inherit.aes=FALSE)
p <- p + geom_point(data=data, aes(x = x, y = a), color = 'gray', size = 1.5,inherit.aes=FALSE)
残念ながら私は2つの異なる伝説を持っています。 1つはライン用、もう1つはエリア用です。誰か助けてくれますか?ありがとうございました!
私はあなたの 'x'カラムに9が足りないと思います。また、 'data_melt_index'と' data_melt_no_index'はどこにもありません。それぞれ 'data_melt_legend'と' data_melt_no_legend'を意味しますか? – useR
"記入欄"の凡例を削除するか、それを凡例と組み合わせようとしていますか?後者の場合、4番目のキーを追加するだけでいいですか、「凡例1」、「凡例2」、「凡例3」をすべて背景にするようにしますか? – useR
私はそれを行の凡例と組み合わせて、四つ目のキーとして色付けされた領域を追加したいと思います。 –