我試圖定義一個函數來產生一對圖的對角線上的散點圖。訣竅是我想要在panel.splot
函數中指定垂直軸。最終我認爲這裏使用的是在對角線上可視化時間序列。對於一個簡單的例子,雖然我想用虹膜數據集來嘗試,並使用Species
作爲垂直軸變量。下面的陰謀產生一個漂亮的情節:函數繪製對()變量對對角線的公共垂直軸變量
pairs(iris[,c(1:4)])
所以現在我需要定義一個對角線面板的功能。這裏是我的努力迄今:
panel.splot <- function(x, yvar,...)
{
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 2, usr[3:4]))
plot(yvar,x, xlim=c(min(x),max(x)))
}
然而,當我嘗試運行它,我得到的是我不知道如何解釋錯誤消息。
pairs(iris[,c(1:4)],diag.panel=panel.splot(x=x, yvar="Species"))
Error in plot.window(...) : invalid 'xlim' value
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf
我一直沒能找到另外一個例子。許多其他的功能來創建不同類型的情節,但沒有任何事情做到這一點。
爲了清楚起見,這是情節我想象會沿着對角線pairs()
通話產生的類型:
plot(iris$Species,iris$Petal.Width)
我沒用過'pairs',但有一次我在'GGally :: ggpairs'瞥了一眼;看看最後一個例子(「自定義例子」),在那裏將任意一個繪圖分配給子圖的網格中的任何一個座標似乎相當容易。我試圖用'custom_car [1,1] < - plot'在對角線上繪製一個圖。 – Henrik
在'panel.splot'裏面,你試圖把'yvar'的'min'和'max'包含字符串'Species'。我不認爲你打算這麼做。這不會解決您的問題,但它似乎是一個問題。 – steveb
什麼'x'在'雙(虹膜[,C(1:4)],diag.panel = panel.splot(X = X,yvar = 「物種」)) ' – mtoto