如何在R语言MASS::parcoord()中自定义各变量Y轴范围?
调整MASS::parcoord()平行坐标图的Y轴范围(统一最小值为0)
当使用MASS::parcoord()并设置var.label=TRUE时,绘图范围默认由变量的原始观测极值决定。要把所有变量的Y轴最小值统一设为0,有两种实用方法:
方法一:预处理数据(推荐)
对每个变量做线性变换,减去自身的最小值,让新数据的最小值直接变为0,同时保留原始变量的标签展示:
library(MASS) # 提取目标数据 data <- iris[,1:3] # 每个变量减去自身最小值,确保最小值为0 scaled_data <- apply(data, 2, function(x) x - min(x)) # 绘制带变量标签的平行坐标图 MASS::parcoord(scaled_data, var.label = TRUE)
方法二:手动指定每个变量的Y轴范围
如果需要保留原始数据不做修改,可以为每个变量单独设置ylim参数,把下限设为0,上限用变量的原始最大值:
library(MASS) data <- iris[,1:3] # 获取每个变量的原始最大值 max_vals <- apply(data, 2, max) # 逐个指定各变量的Y轴范围 MASS::parcoord(data, var.label = TRUE, ylim = list(c(0, max_vals[1]), c(0, max_vals[2]), c(0, max_vals[3])))
内容的提问来源于stack exchange,提问作者P. East
相关产品推荐
相关产品推荐

