如何让Plotly中mesh3d的颜色随z值变化(R语言)
解决Plotly中mesh3d按z值(sales)着色的问题
要让mesh3d图形根据z值(sales列)实现类似add_surface的颜色渐变效果,只需在add_trace中添加颜色映射相关参数即可,具体修改如下:
修改后的代码
library(plotly) library(tibble) # 因使用tribble需加载该包 # 可复现数据集 marketing <- tribble(~youtube, ~facebook, ~sales, 270, 45, 26, 53, 47, 12, 20, 55, 11) plot_ly() %>% add_trace( x = ~youtube, y = ~facebook, z = ~sales, type = "mesh3d", color = ~sales, # 绑定颜色与sales(z值) colorscale = "Viridis", # 采用与add_surface默认一致的色阶 showscale = TRUE # 显示颜色对应条 )
关键参数说明
color = ~sales:将图形颜色与sales值绑定,实现按z值渐变着色colorscale = "Viridis":使用add_surface默认的色阶,也可替换为"RdBu"、"Blues"等其他内置色阶showscale = TRUE:显示右侧颜色条,便于对应z值与颜色的关系
调整后生成的mesh3d图形会根据sales值大小呈现渐变色彩,与add_surface的着色逻辑一致。
内容的提问来源于stack exchange,提问作者Dario Lacan
相关产品推荐
相关产品推荐

