1

我正在尝试使用具有 1270 个维度/变量的数据集绘制一个平行坐标图,并且由于背景网格,该图似乎都是一个灰色区域(如果我绘制具有 800 个维度的相同数据集,我仍然得到网格占据了大部分空间,但你可以或多或少地看到情节)。

有谁知道我怎样才能删除这个背景网格?

parcoord(mywines_spectra[,2:800], col = mywines_parameters$name)

在此处输入图像描述

parcoord(mywines_spectra[,2:ncol(mywines_spectra)], col = mywines_parameters$name)]

在此处输入图像描述

4

1 回答 1

0

垂直线在函数中是硬编码的,没有更改它们的选项。我们可以根据需要复制函数并更新:

myParcoord <- function (x, col = 1, lty = 1, var.label = FALSE, ...) 
{
  rx <- apply(x, 2L, range, na.rm = TRUE)
  x <- apply(x, 2L, function(x) (x - min(x, na.rm = TRUE))/(max(x, 
                                                                na.rm = TRUE) - min(x, na.rm = TRUE)))
  matplot(1L:ncol(x), t(x), type = "l", col = col, lty = lty, 
          xlab = "", ylab = "", axes = FALSE, ...)
  axis(1, at = 1L:ncol(x), labels = colnames(x))
  for (i in 1L:ncol(x)) {
    #lines(c(i, i), c(0, 1), col = "grey70") # <--- this line adds vertical grey lines
    if (var.label) 
      text(c(i, i), c(0, 1), labels = format(rx[, i], 
                                             digits = 3), xpd = NA, offset = 0.3, pos = c(1, 
                                                                                          3), cex = 0.7)
  }
  invisible()
}

myParcoord(mtcars, col = mtcars$cyl)

在此处输入图像描述

于 2022-01-14T09:21:04.463 回答