1

CPUと呼ばれる私のデータフレーム:

structure(list(Date = structure(c(15229, 15236, 15243, 15250, 
15257, 15264, 15271, 15278, 15285, 15292, 15299, 15306, 15313, 
15320, 15327, 15334, NA, 15341, 15348, 15355, 15362, 15369, 15376, 
15383, 15390, 15397, 15404, 15411, 15418, 15425), class = "Date"), 
    Pc = c(13.28, 8.96, 11.68, 9.76, 9.6, 9.92, 8.48, 10.56, 
    12, 14.08, 10.72, 12, 11.04, 11.68, 11.52, 12.64, 5.6, 11.84, 
    11.84, 11.36, 11.84, 13.28, 12.16, 12.64, 12.48, 13.28, 11.36, 
    11.2, 11.04, 12.16)), .Names = c("Date", "Pc"), row.names = c(4974L, 
5009L, 5044L, 5068L, 5203L, 5238L, 5093L, 5103L, 5138L, 5173L, 
5446L, 5481L, 5516L, 5551L, 5586L, 5298L, 5328L, 5333L, 5368L, 
5403L, 5596L, 5631L, 5666L, 5821L, 5856L, 5691L, 5726L, 5756L, 
5791L, 6066L), class = "data.frame")

geom_rect を使用して、チャートに日陰の領域を作成する必要があります。私は次のものを持っています:

 ggplot(cpu, aes(Date, Pc, group=1)) + 
    geom_point() + 
    geom_smooth(method="loess", size=1, colour="blue") + 
    theme_bw() + 
    scale_x_date(breaks = "3 weeks",minor_breaks="1 weeks",labels=date_format("%m/%d/%y")) + 
    theme(axis.text.x = element_text(angle=60, hjust=1)) + 
    geom_rect(data=cpu,aes(xmin=as.Date(c("2011-10-10")), xmax=as.Date(c("2013-08-11")), ymin=0, ymax=Inf))

網掛け部分がドットと重なってドットが見えません。geom_rect 領域の背後にある geom_points も表示されるようにするにはどうすればよいですか?

4

1 に答える 1

2

元のコメントで言ったように、これは私にとってはうまくいきます:

ggplot(cpu, aes(Date, Pc, group=1)) + 
    geom_rect(data=cpu,xmin=as.numeric(as.Date(c("2011-10-10"))), 
        xmax=as.numeric(as.Date(c("2013-08-11"))), ymin=0, ymax=Inf,fill = "blue",alpha = 0.01) +
    geom_point() + 
    geom_smooth(method="loess", size=1, colour="blue") + 
    theme_bw() + 
    scale_x_date(breaks = "3 weeks",minor_breaks="1 weeks",labels=date_format("%m/%d/%y")) + 
    theme(axis.text.x = element_text(angle=60, hjust=1))

アルファレベルをそれほど小さくする必要はないので、レイヤーで何か他のことが起こっているのではないかと思うgeom_rectので、不注意によるオーバープロットが心配です。しかし、私は今会議に走らなければなりません。誰かが問題を見つけたら、気軽にコメント/編集してください。

于 2013-09-26T15:16:08.643 に答える