我正在編輯這個以提供我需要的更好的示例。如果有幫助,我會保留原始信息的底部。是可能的多個剪輯嗎?
,我有以下數據:
所以我的數據是這樣的:
date x y diff min max
1 2001-01-01 1 2 1 1 2
2 2001-01-02 2 3 1 2 3
3 2001-01-03 7 4 -3 4 7
4 2001-01-04 3 5 2 3 5
5 2001-01-05 4 6 2 4 6
6 2001-01-06 8 7 -1 7 8
7 2001-01-07 9 8 -1 8 9
8 2001-01-08 5 9 4 5 9
9 2001-01-09 6 10 4 6 10
10 2001-01-10 7 9 2 7 9
11 2001-01-11 11 8 -3 8 11
12 2001-01-12 13 7 -6 7 13
13 2001-01-13 15 6 -9 6 15
14 2001-01-14 8 8 0 8 8
15 2001-01-15 9 10 1 9 10
16 2001-01-16 10 11 1 10 11
17 2001-01-17 11 12 1 11 12
18 2001-01-18 12 13 1 12 13
19 2001-01-19 13 14 1 13 14
20 2001-01-20 15 1 -14 1 15
我想創造一個基於當Z $差異的多邊形的顏色改變多邊形陰謀小於零。所以劇情應該是這樣的:
我知道段可以用線條做到這一點,但不幸的是我,我需要用一個多邊形來做到這一點。
原始郵件:
比方說,我有這樣的數據:
x=rnorm(100)
y=rnorm(100)
date=strptime(20010101:20010410,'%Y%m%d')
date=date[complete.cases(date)]
z=data.frame(date,x,y)
z$max=apply(z[2:3],1,which.max)
z$min=apply(z[2:3],1,which.min)
z$v=z$max-z$min
w=z[z$v<0,]
然後我嘗試做一個多邊形組成的兩種顏色,一種爲當X> Y,另一個是當y> X。我這樣做:
plot(z$date,z$x,type='n')
polygon(c(z$date,z$date[nrow(z):1]),c(z$x,z$y[nrow(z):1]),col='skyblue',border=NA)
polygon(c(w$date,w$date[nrow(w):1]),c(w$x,w$y[nrow(w):1]),col='salmon',border=NA)
什麼情況是,當有數據幀w
差距多邊形涵蓋這些差距。我知道如何使用剪輯剪輯一個區域,但是它可以用來剪輯數據幀中的多個間隙嗎?
理想情況下,當y> x時,w
多邊形應與z
多邊形重疊。
是的,它是。每當多邊形遇到NA值的行時,它都會被剪切。我試着用你的數據,它原則上工作,但我無法弄清楚你的數據操作,所以沒有公佈答案。 – Andrie
我不確定這是否正確。如果我理解了蝙蝠俠的想法,那麼它最終會成爲多邊形,每個連續的z在z $ v <0範圍內。 v <0的每個區域都需要自己調用多邊形以及它自己的循環結構。如果只有一行有v <0 between v> 0行會怎麼樣?這只是一個寬度爲零的線,對吧? [實際上可能忽略..現在閱讀幫助(多邊形),它可能是可行的... – Spacedman
啊棘手的一點是,你必須扭轉每個段內的y值的順序 - 扭轉整個向量將無法正常工作。 – Spacedman