2013-08-22 47 views
0

我發表了一篇關於控制x-y曲線作爲兩條正常曲線的文章,並且後來認識到我讓事情太複雜了。之後我設法將它繪製成橢圓形,但是這略高於估計誤差;理想情況下可以繪製爲菱形。繪製的菱形寬度和高度由R控制的xError和yError的菱形圖

我要約會的代碼是:

plot(c(-5,10), c(-5,5), xlab = expression(Age), ylab = expression(value), type="n") 
draw.ellipse(Age, value, a=Age_error, b=value_error, col="grey70") 

圖表: Ellipse figure

有什麼方法與菱形,其高度由2X VALUE_ERROR和寬度的2倍age_error控制來代替橢圓?

我的數據幀低於

structure(list(Age = c(1L, 2L, 4L), value = c(3, -2, 0.01), Age_error = c(2, 
    1.4, 3), value_error = c(0.5, 1, 2.1)), .Names = c("Age", "value", 
    "Age_error", "value_error"), class = "data.frame", row.names = c(NA, 
    -3L)) 

非常感謝

+0

'draw.ellipse'從哪裏來? – Spacedman

+0

我猜你只是想用'polygon'來創建一個連接四個極端點的'draw.rhombus'函數?是? – Spacedman

+0

包'plotrix' – ahsat

回答

1

您可以使用my.symbolsms.polygon功能在TeachingDemos包繪製菱形:

library(TeachingDemos) 
plot(c(-5,10), c(-5,5), xlab = expression(Age), ylab = expression(value), 
    type="n") 
my.symbols(Age, value, ms.polygon, n=4, xsize=2*Age_error, 
    ysize=2*value_error, linesfun=polygon, col='grey') 

漏下linesfuncol如果你不想填充菱形。

+0

太棒了 - 非常感謝。 – ahsat