繪製水平誤差棒是預期行爲爲errbar()
函數當參數x
是因數或字符變量時,與數字相反。當你說缺少值x
打破你的陰謀,我解釋你意味着打破連接點的線。要繪製錯誤條不破壞線,我會簡單地用失蹤x
值刪除意見:
require(Hmisc)
## Your example data
set.seed(1)
x <- 1:10
y <- x + rnorm(10)
delta <- runif(10)
## Make some data vanish
x[c(5,6)] <- NA
## Create an index for non-missing observations in `x`
i <- which(!is.na(x))
errbar(x[i], y[i], y[i] + delta[i], y[i] - delta[i], type = "b")
編輯 每下方的評論,如果platenames只是意在你的x軸的刻度標籤,那麼以下情況如何?
require(Hmisc)
## Your example data
set.seed(1)
# `x` should not contain missing values, and is not your platenames vector
x <- 1:10
y <- x + rnorm(10)
delta <- runif(10)
# xticks represents your platenames vector with missing values
xticks <- c(1, 2, 3, 4, NA, NA, 7, 8, 9, 10)
errbar(x, y, y + delta, y - delta, type = "b")
axis(1, at = xticks, labels = xticks)
但是,對於我來說,爲什麼你會觀察缺少x軸刻度標記的問題令人困惑。正如安德里所說,也許你可以澄清爲什麼一些platenames缺失,platenames是否應該是你的x值,或者它們是否只是標籤。如果他們只是標籤,也許你想要將標籤與mtext()
添加到保證金:
errbar(x, y, y + delta, y - delta, type = "b")
mtext(text = xticks, side = 3, line = 2, at = xticks)
調整side
和line
每?mtext
左右移動的標籤。
你可以添加一個玩具的例子,再現你的問題?我真的不知道你的意思是什麼意思,如果缺少x值,那麼woul要求你使用「as character」來繪製... – 2011-04-26 09:50:35
只需一秒鐘,我上傳數據集 – 2011-04-26 09:57:27