0

私は最近 R を広範囲に使用しており、プロットに関する気の利いた質問があります。

参考として現在のプロットの画像を添付しました。ご覧のとおり、データ入力の一部をセグメント化するために垂直線を追加しました。私は 200 の「エージェント」を持っており、それぞれが異なるカテゴリサブセットから来ているため、すべてが少し異なります。したがって、私の目標は、下の軸を「エージェント」ベクトルのインデックスとして維持することですが、下の各サブディビジョンにラベルを追加して、セグメント化する理由を少し明確にしたいと思いますそれらを垂直線で示します。

助言がありますか?

http://i.imgur.com/YGNdBhg.png?1?1971

4

2 に答える 2

1

axis次のように呼び出すだけです。

x = sin(1:100) + rnorm(100, 0,.125)
breaks = c(10,33,85, 96)

plot(x)
sapply(breaks, function(x){abline(v=x, lty=2)})
axis(1, breaks, as.character(breaks))

デフォルトの目盛りをまったくプロットしたくない場合 (つまり、"breaks" ベクトルの目盛りのみ)、これを少し変更する必要があります。

plot(x, axes=F)
sapply(breaks, function(x){abline(v=x, lty=2)})
axis(1, breaks, as.character(breaks))
axis(2)
box()
于 2013-07-24T20:54:07.037 に答える
0

サンプル データやコードを提供していないため、送信しているコードはテストされていません。垂直線vertlinesのベクトルとラベルのベクトルを呼んでいlabelsます。垂直線とエージェント値の範囲を使用して、各カテゴリの中点を定義します。次に、関数を使用してそれらをプロットに追加しmtext()ます。試してみる。

vertlines <- c(40, 80, 120, 140, 160, 180)
labels <- letters[1:7]

labelx <- diff(c(1, vertlines, 200))/2 + c(1, vertlines)
mtext(labels, at=labelx, side=1, line=4)
于 2013-07-24T20:58:14.223 に答える