15

2 つの半透明のリボンを一緒にプロットしています。以下のコードを使用すると、部分なしで、基本scale_fill_manual的に必要なものが得られます. この部分を追加すると、凡例とそのエントリに好きな名前を付けることができますが、凡例の色付きの四角形の透明度が失われます。"red"blueredscale_fill_manual

x=1:10
y1=1:10
y2=2:11
y3=10:1
y4=9:0
dt=data.frame(x,y1,y2,y3,y4)
library(ggplot2)    
ggplot(dt)+
  geom_ribbon(aes(x=x,ymin=y1,ymax=y2,fill='red'),
              alpha=0.4,)+
  geom_ribbon(aes(x=x,ymin=y3,ymax=y4,fill='blue'),
              alpha=0.5)+
  scale_fill_manual(name='legendname',
                    values=c('red','blue'),
                    labels=c('one','two'))

ここに画像の説明を入力

sessionInfo() の出力

R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] scales_0.2.3   ggplot2_0.9.3  plyr_1.8       reshape2_1.2.2

loaded via a namespace (and not attached):
 [1] colorspace_1.2-0   dichromat_1.2-4    digest_0.6.0       grid_2.15.2        gtable_0.1.2       labeling_0.1      
 [7] MASS_7.3-22        munsell_0.4        proto_0.3-10       RColorBrewer_1.0-5 rstudio_0.97.248   stringr_0.6.2     
[13] tools_2.15.2   

同様の問題に対する解決策はたくさんあります ( ggplot で凡例をカスタマイズするhttps://stats.stackexchange.com/questions/5007/how-can-i-change-the-title-of-a-legend-in-ggplot2など)、しかし、これに具体的に対処するものは何も見つかりません。

前もって感謝します

4

1 に答える 1

15

以下を追加することで、凡例の美学をオーバーライドできます。

+ guides(fill = guide_legend(override.aes= list(alpha = 0.4)))

あなたのggplot呼び出しに。

しかし、ggplot のほとんどのものと同様に、複数のgeom_ribbon呼び出しを不要にする方法でデータを配置する方がおそらく簡単です。

dt1 <- data.frame(x = c(x,x),
                  ymin = c(y1,y3),
                  ymax = c(y2,y4),
                  grp = rep(c('red','blue'),each = 10))
ggplot(data = dt1,aes(x = x,ymin = ymin, ymax = ymax,fill = grp)) + 
    geom_ribbon(alpha = 0.4) + 
    scale_fill_manual(name = "legendname",
                      values = c('red','blue'),
                      labels = c('one','two'))

ここに画像の説明を入力

于 2013-01-02T23:54:15.453 に答える