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

如何在R Plotly多线图中通过SIZE列定义标记点大小?

解决方法

你只需要在add_markers()函数中添加size = ~SIZE参数,就能让标记点大小由数据框的SIZE列控制。另外原代码里的eval(parse(text=...))完全没必要,plotly支持直接用公式引用数据列,修改后的代码更简洁:

library(plotly)
df = data.frame(DATE = c('2022-09-01','2022-09-02','2022-09-03','2022-09-04', '2022-09-01','2022-09-02','2022-09-03','2022-09-04'),
                SIZE = c(200,200,180, 110, 20, 15, 15, 10),
                PRICE = c(99, 95.5, 96, 96, 80, 79, 77, 77),
                ID = c('ABC','ABC','ABC','ABC','DEF','DEF','DEF','DEF'), stringsAsFactors = F)

df$DATE = as.Date(df$DATE)

plt <- df %>% 
  plot_ly( x = ~DATE, 
           y = ~PRICE, 
           color = ~ID,
           name = ~ID, 
           connectgaps = TRUE) %>% 
  add_lines() %>% 
  add_markers(size = ~SIZE)  # 关键:添加size参数绑定SIZE列

plt

额外优化说明

如果默认的标记大小不符合预期,可以通过sizeref和sizemode参数调整缩放比例,比如:

add_markers(size = ~SIZE, sizeref = 0.1, sizemode = "area")
  • sizeref:数值越小,标记点越大;数值越大,标记点越小,用来适配你的SIZE列数值范围。
  • sizemode:可选"area"(默认,按面积缩放)或"diameter"(按直径缩放)。

内容的提问来源于stack exchange,提问作者Angelo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:50:24