2016-05-30 11 views
2

私はこのプロットを持っているので、線の色を観測2,000から赤色に変える必要があります。私はggplotを使ってやったことがありますが、それは簡単ですが、Base Rを使ってやりたいと思います。私はいくつかの投稿を読んでいますが、これをどうやってやるべきか正確には分かっていません。指定した日付から色を変更しますか?

これはプロットの一部を青色にし、もう1つを赤色にしたものです。

私は本当にアドバイスやお勧めをありがとう! Plot

答えて

0

あなたはデータを提供していないので、私は推測できます。

plot(d, type="n") 
for(i in 1:length(d)){ 
    M <- cbind(c(i, i), c(d[i], 0)) # Matrix of start and end points of the line 
    lines(M, col=COL[i]) 
} 

enter image description here

:あなたが「H」機能は、適切なツールではありません、あなたも looplinesを使用することができることを言ったように

# some data 
set.seed(123) 
d <-runif(3000, 0, 2) 
d[sample(1:3000, 2800)] <- 0 # set some zero values 

# A color vector 
COL <- c(rep(1, 2000), rep(2, length(d))) 
# and the plot using the histogram option: 
plot(d, type="h", col=COL) 

:基本R plot機能を使用してここで解決

+0

は、私は、ヒストグラムオプションを使用する場合は、この作品、ありがとうございます。私はラインオプションを使用しています。モバイルアプリiを使用して送信されたメッセージの時間データの調整された時系列です(データを送信できません)。だから私は、ヒストグラムとこの目的のための線は全く同じではないと思います。 – adrian1121

+0

@ adrian1121あなたのように見えるデータセットを構築したり、値を交換したりしてください。私は色が "l"オプションを使用してベクトルで動作していないと思う。私は私の答えも編集しました。 – Jimbou

0

lines()の色を変更するのは難しいですが、私はセグメント()を使って複製されたエンドポイントデータを作成しました。

# make a sample data 
df <- data.frame(ind = 1:200, y = runif(200, 0, 10)) 

# combine df and df shifting one row 
df <- cbind(df, rbind(df, c(NA, NA))[-1,]) 

plot(df[,1:2], type="n")   # (edit) using Mr.Pereira's code, thanks. 
segments(df[,1], df[,2], df[,3], df[,4], col = ifelse(df[,1] < 150, "blue", "red")) 

plot

0

これを試してみてください:

df <- data.frame(ind = 1:5000, y = runif(5000, 0, 10)) 


plot(df$y, type="h", col= ifelse(df$ind < 2000, "blue", "red")) 

enter image description here

関連する問題