调用ggfortify的autoplot绘制PCA对象时colour与color参数问题咨询
英式拼写
colour与美式拼写color的参数兼容问题 - 使用
autoplot()绘制PCA散点图时,英式拼写参数colour='Species'可按指定变量为散点正常着色;但美式拼写color='Species'会被忽略,所有点显示为黑色。
复现代码
library(ggfortify) library(cowplot) pca_res <- prcomp(iris[1:4], scale = TRUE) british <- autoplot(pca_res, data=iris, colour='Species') us <- autoplot(pca_res, data=iris, color='Species') plot_grid(british, us, labels=c('colour', 'color'))
问题归属确定
这个问题源于ggfortify包,原因如下:
- ggplot2核心函数(如
ggplot()、geom_point())本身同时兼容英式colour和美式color参数,不存在拼写兼容问题。 - 处理PCA对象的
autoplot.prcomp()方法由ggfortify提供,该方法的参数定义仅声明了colour,未对美式拼写color做参数映射处理,导致color被识别为未知参数直接忽略,无法传递到后续绘图逻辑中。
内容的提问来源于stack exchange,提问作者C. Murtaugh
相关产品推荐
相关产品推荐

