如何在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
相关产品推荐
相关产品推荐

