如何在R的Plotly中调整3D散点图的标记绝对大小?
解决Plotly 3D散点图缩小标记大小的问题
嘿,我来帮你搞定这个标记大小的问题!你之前踩了两个参数的误区,我给你理清楚:
你之前的错误原因
sizes参数:这个是当你想用某个数据变量映射点的大小时,用来指定大小的取值范围(比如sizes=c(1, 10)),不是直接设置固定的标记大小,所以单独用它不会有效果。sizeref参数:它是配合size=~某个变量一起用的缩放因子,用来调整基于数据的大小缩放比例,没有指定size映射变量的话,单独设置它也不会生效。
正确的固定标记大小设置方法
如果你想让所有点的大小统一缩小,直接在 marker 列表里设置 size 参数就可以了,数值可以根据你的需求调整(默认标记大小一般在6左右,你可以设为2、3这类更小的数值):
library(plotly) plot_ly(iris, x=~Petal.Width, y=~Sepal.Width, z=~Petal.Length) %>% add_markers(color=~Species, marker=list(size=2)) # 这里的2可以按需修改
额外:基于数据动态调整大小的场景
如果你之后需要根据某个变量(比如花瓣长度)来动态调整点的大小,再配合 sizeref 使用就合理了,示例代码如下:
library(plotly) plot_ly(iris, x=~Petal.Width, y=~Sepal.Width, z=~Petal.Length) %>% add_markers( color=~Species, size=~Petal.Length, # 用Petal.Length映射点大小 marker=list( sizeref=0.1, # 缩放因子,数值越小,点相对越大;反之则越小 sizemode="diameter" # 指定大小的计算模式,可选"diameter"或"area" ) )
内容的提问来源于stack exchange,提问作者mindlessgreen
相关产品推荐
相关产品推荐

