8

私は次のプロットを持っています

require(ggplot2)

dtf <- structure(list(Variance = c(5.213, 1.377, 0.858, 0.613, 0.412, 0.229, 0.139, 0.094, 0.064), Component = structure(1:9, .Label = c("PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9"), class = "factor")), .Names = c("Variance", "Component"), row.names = c(NA, -9L), class = "data.frame")

ggplot(dtf, aes(x = Component, y = Variance)) +
geom_point()

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

点を直線でつなぎたいだけです。試し+geom_line()ましたが、エラーが発生しました

4

2 に答える 2

27

あなたのx値は離散的(因子)であり、geom_line()それぞれの一意のx値は別々のグループとして認識され、このグループ内でのみポイントを接続しようとします。を設定group=1するaes()と、すべての値が1つのグループとして扱われるようになります。

ggplot(dtf, aes(x = Component, y = Variance,group=1)) +
  geom_point()+geom_line()
于 2013-02-23T18:25:33.500 に答える
0

これにより、因子カテゴリの整数値としてxを使用してポイントがプロットされます。

 ggplot(dtf, aes(x = as.numeric(Component), y = Variance)) +
      geom_point() + geom_line()

次のコマンドでカテゴリラベルに戻すことができます。

ggplot(dtf, aes(x = as.numeric(Component), y = Variance)) +
  geom_point() +geom_line() + scale_x_discrete(labels=dtf$Component)
于 2013-02-23T18:39:12.047 に答える