10

凡例ラベルで下付き/上付き文字を使用する必要があります。ただし、labelそれぞれのスケールのパラメーターを使用すると、色と塗りつぶしスケールが結合されなくなります。

これを修正する方法、または凡例で下付き/上付き文字を使用する別の方法はありますか?

DF <- data.frame(x=1:10,y=(1:10)^2,
                 ymax=(1:10)^2.2,
                 ymin=(1:10)^1.8,
                 fac=rep(c("a","b"),each=5))

library(ggplot2)
p <- ggplot(DF,aes(x=x,y=y,ymin=ymin,ymax=ymax,colour=fac,fill=fac)) +
  geom_line() +
  geom_ribbon(alpha=0.5)

print(p)

ここに画像の説明を入力

p +  scale_color_discrete(labels=c("a"=expression(a[{foo}]),
                                   "b"=expression(b[{bar}]))) +
     scale_fill_discrete(labels=c("a"=expression(a[{foo}]),
                                  "b"=expression(b[{bar}]))) 

ここに画像の説明を入力

4

1 に答える 1

7

凡例を削除してから関数内で凡例fillを使用するのは、それほどエレガントな解決策ではありません。この凡例では、独自の値を設定できます。唯一の問題は、色の名前を知らなければならないことです。すでに独自の色の値を提供しているので、これは簡単だと思います。override.aes=guides()color=fill=scale_color_manual()

p +  scale_color_discrete(labels=c("a"=expression(a[{foo}]),
                                   "b"=expression(b[{bar}]))) +
  scale_fill_discrete(guide="none")+
  guides(color=guide_legend(override.aes=list(fill=c("#F8766D","#00BFC4"))))

ここに画像の説明を入力

于 2013-06-06T12:56:57.287 に答える