我试图定义一个函数来产生一对图的对角线上的散点图。诀窍是我想要在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