7

の伝説d2はうまく見えます。のためd1に、私は白/透明な背景に対して水平線だけを示したいと思います。

df = data.frame(
  Date = c("2012-11-30", "2012-12-03", "2012-12-04"),
  d1 = c(9, 5, 11),
  d2 = c(4, 6, 3)
)
ggplot(df, aes(Date)) + 
  geom_bar(aes(y = d2, color = "d2"), stat="identity", fill = "red") +
  geom_line(aes(y = d1, group = 1, color = "d1"))  +
  scale_colour_manual("", values=c("d1" = "blue", "d2" = "red")) 

ここに画像の説明を入力してください

4

2 に答える 2

10

これはエレガントなソリューションではありませんが、少なくとも何らかの結果が得られます。

追加aes(fill="d2")geom_bar()て削除しましfill="red"た。次に、線と棒に別々のスケールを追加しました。次に、theme()凡例エントリから灰色の背景を削除しました。

凡例の d1 が d2 の前に表示されるようにするにはscale_colour_manual(" ")、引用符の間に余分なスペースを入れる必要があります (「長い」名前)。

凡例キーを 1 行にlegend.box="horizontal"収めるために、theme()

  ggplot(df, aes(Date)) + 
    geom_bar(aes(y = d2,fill="d2"), stat="identity") +
    geom_line(aes(y = d1, group = 1, color = "d1")) +
    scale_colour_manual(" ", values=c("d1" = "blue", "d2" = "red"))+
    scale_fill_manual("",values="red")+
    theme(legend.key=element_blank(),
          legend.title=element_blank(),
          legend.box="horizontal")

ここに画像の説明を入力

于 2012-12-09T17:52:51.730 に答える