時間の経過とともにサンプリングされたいくつかの信号があり、連続線を使用してRでプロットしています。さらに、プロット上のいくつかの特定の時間範囲を強調したいと思います。
私の現在のアプローチは、時間範囲に一致する適切な幅と水平位置を持つフルハイトの透明な長方形を描くことです。範囲内のポイントと範囲外のポイントを明確に分離しているため、これは適切な表現だと思います。しかし、もっと良いものはありますか?
そして、質問の2番目の実用的な部分。今、私はこのような信号をプロットしています:
p <- ggplot(data=gs, mapping=aes(x=frameno, y=value, col=variable)) +
geom_line()
p
アルファブレンドされた長方形を手動で描画しようとしました:
p + geom_rect(aes(xmin=600, xmax=650, ymin=-3, ymax=3),
colour=alpha("grey20", 0.5), fill.alpha=0.5)
—しかし、これまでのところ成功はありません。ヒントはありますか?
長方形を描くことはうまくいくと思います。 単純な垂直線 では不十分な場合、より良い解決策はわかりません。
また、透明性の問題には、_alpha=0.5
_の代わりに_fill.alpha=0.5
_を使用し、geom_rect()
で_inherit.aes = FALSE
_を指定します。例えば。ダイヤモンドデータからプロットを作成する:
_p <- ggplot(diamonds, aes(x=price, y=carat)) +
geom_line(aes(color=color))
rect <- data.frame(xmin=5000, xmax=10000, ymin=-Inf, ymax=Inf)
p + geom_rect(data=rect, aes(xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax),
color="grey20",
alpha=0.5,
inherit.aes = FALSE)
_
また、ymin
とymax
を_-Inf
_とInf
に簡単に設定できることにも注意してください。