2017-03-21 26 views
1

ggplotに2つの散布線をプロットしようとしています。 x軸は1から10までの整数は当初、私は次のコードを書いている:X軸in ggplot2:factor

library(ggplot2) 
Answer <- c(1:10) 
EM = c(0.458,0.517,0.4,0.394,0.15,0.15,0.0,0.2,0.14,0.33) 
F1 = c(0.56,0.63,0.632,0.704,0.502,0.524,0.488,0.64,0.5,0.593) 
test_data <- data.frame(EM,F1,Answer) 

ggplot(test_data, aes(Answer)) + 
    geom_line(aes(y = EM, colour = "EM")) + 
    geom_line(aes(y = F1, colour = "F1")) 

をこれは、x軸は、ここで連続しており、2.5のような印刷値以下のプロット

enter image description here

になり、7.5。それを1,2,3,4、...、10とするには、aes(factor(Answer))を入れてみましたが、これは空のプロットになります。これをどうすれば解決できますか?

+2

、あなたはすべてのために、すなわち、1列 '、長い形式にデータを再構築するために検討することy' 'ggplot2'で効率的に作業するために好ましい変数(' EM'、 'F1')の2番目の列があります。これは、あなたが2つの変数の値を表示するにもかかわらず、今あなたのy軸が 'EM'とラベル付けされているという問題を解決します。 – Uwe

答えて

4

データを継続してください。あなたはスケールを変更したい場合は、単にそのん:以下の回答に加えて

ggplot(test_data, aes(Answer)) + 
    geom_line(aes(y = EM, colour = "EM")) + 
    geom_line(aes(y = F1, colour = "F1")) + 
    scale_x_continuous(breaks = 1:10) 

resulting plot