「適切な」変数マッピングは必要ないが、チャートの理解に役立つ凡例キーが必要だとしましょう。私の実際のデータは次の df に似ています
df <- data.frame(id = 1:10, line = rnorm(10), points = rnorm(10))
library(ggplot2)
ggplot(df) +
geom_line(aes(id, line, colour = "line")) +
geom_point(aes(id, points, colour = "points"))
基本的に、凡例のキーを相対的にしたいと思いpoints
ます..真ん中に線がなく、ただの点です。私はこれでそれに近づきました:
library(reshape2)
df <- melt(df, id.vars="id")
ggplot() +
geom_point(aes(id, value, shape = variable), df[df$variable=="points",]) +
geom_line(aes(id, value, colour = variable), df[df$variable=="line",])
しかし、それは 2 つの別々の凡例を定義します。2番目のコードを修正する(そしてデータを再形成する必要がある)ことも問題ありませんが、凡例のキーを手動で変更する(そして最初のアプローチを使い続ける)方法があればいいと思います。ありがとう!
編集 :
@alexwhanに感謝します。変数マッピングに関する私の記憶をリフレッシュしてください。ただし、これまでのところ最も簡単な方法は次のとおりです(非常に悪いハックです!):
df <- data.frame(id = 1:10, line = rnorm(10), points = rnorm(10))
ggplot(df) +
geom_line(aes(id, line, colour = "line")) +
geom_point(aes(id, points, shape = "points")) +
theme(legend.title=element_blank())
これは、2 つの異なる伝説のタイトルを隠しているだけです。
他のアイデアは大歓迎です!!!