You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Plotly中正确设置标记符号?PCA可视化问题求助

PCAtools PCA结果Plotly可视化问题及解决

我用PCAtools生成PCA矩阵后,尝试用Plotly做3D可视化时碰到两个问题:

  • 在marker参数内部指定symbol时,绘图里的所有数据点会消失
  • 在marker参数外部指定symbol时,颜色条显示异常

点消失的情况

代码

mtcars <- mtcars %>% mutate(make = substr(word(rownames(mtcars), 1), 1, 1), model = word(rownames(mtcars), 2))
pca <- PCAtools::pca(t(mtcars[,c("carb","gear","qsec", "make", "model")]), metadata = mtcars[,c("carb","gear","qsec", "make", "model")])
p <- plot_ly(data = pca$rotated, 
             x = ~PC1, y = ~PC2, z = ~PC3,
             height = 600,
             marker = list(color = pca$metadata$qsec,
                           symbol = pca$metadata$make,
                           colorscale = "Jet",
                           colorbar = list(title = "Test")))
             
p

现象

绘图仅显示坐标轴和颜色条,所有数据点完全消失。


颜色条异常的情况

代码

p <- plot_ly(data = pca$rotated, 
             x = ~PC1, y = ~PC2, z = ~PC3,
             height = 600,
             marker = list(color = pca$metadata$qsec,
                           colorscale = "Jet",
                           colorbar = list(title = "Test",
                                           y = 0.5, x = 0)),
             symbol = pca$metadata$make)

p

现象

颜色条被拉伸至整个绘图区域的高度,显示比例失调。


修复后的代码及效果

代码

p <- plot_ly(data = pca$rotated, 
             x = ~PC1, y = ~PC2, z = ~PC3,
             height = 600,
             marker = list(color = pca$metadata$qsec,
                           colorscale = "Jet",
                           colorbar = list(title = "Test",
                                           y = 0.5, x = 0, len = 0.5)),
             symbols = pca$metadata$make)

现象

数据点正常显示,不同make类别对应不同符号,颜色条显示正常,长度适配合理。


内容的提问来源于stack exchange,提问作者APompetti-Cori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 16:15:33