3

データは次のとおりです。

myd <- data.frame (X1 = rep (c("A0001", "B0002", "C0003", "D0004"), each = 2),
X2 = rep (c(1, 5.3, 8.2, 12.5), each = 2), X3 = rep (c("A", "B"), 4),
 Y = rnorm (8, 5, 2))

これが私がプロットできるプロットです:

 require(ggplot2)
 ggplot(myd, aes(x = X2, y = Y, group = X3)) + 
geom_point (aes(col = X3, pch = X3)) + geom_line (aes(col = X3))

X2の値に加えて、X1のテキストをx軸の対応する位置に配置したいと思います。ただ乾いたスケッチ:

ここに画像の説明を入力してください

どうすればいいですか?編集:

注:目的は、連続スケールとテキストをX軸で同時に表示することです。

4

2 に答える 2

6

2つの新しいレイヤーを作成します。

  • geom_rug軸上の線の場合
  • geom_textラベルの場合-ただし、最初に必要なラベルの要約を作成します

コード:

ruglabels <- unique(myd[, 1:2])

require(ggplot2)
ggplot(myd, aes(x=X2, y=Y)) + 
  geom_point (aes(col = X3, pch = X3, col=X3)) + 
  geom_line (aes(col = X3, col=X3)) +
  geom_rug(sides="b") +
  geom_text(data=ruglabels, aes(x=X2, label=X1, y=2))

ここに画像の説明を入力してください

于 2012-07-11T16:54:30.113 に答える
2

X1ラベルだけが必要で、座標が必要ない場合は、次のようにすることができます。

require(ggplot2)


myd <- data.frame (X1 = rep (c("A0001", "B0002", "C0003", "D0004"), each = 2),
    X2 = rep (c(1, 5.3, 8.2, 12.5), each = 2), X3 = rep (c("A", "B"), 4),
    Y = rnorm (8, 5, 2))

ggplot(myd, aes(x = X2, y = Y, group = X3)) + 
    geom_point (aes(col = X3, pch = X3)) + geom_line (aes(col = X3))+
    scale_x_continuous( breaks = myd$X2, labels = myd$X1)

x軸ラベルを使用したプロット。

于 2012-07-11T16:27:39.937 に答える