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

如何使用原生Plotly语法为散点图添加平滑连接线

问题原因

你的原生Plotly代码出现异常连线的核心原因是:

  • ggplot2的geom_line默认会自动按x轴数值升序排序后再连接对应数据点,所以输出的线是符合x轴从小到大的逻辑的
  • Plotly原生的线图默认严格按照数据框的行顺序连接数据点,你当前的数据集里x列是乱序排布的,直接连线就会出现交叉错乱的效果

修正代码

先对数据集按x列升序排序后再绘图即可对齐ggplot+ggplotly的效果:

library(tidyverse)
library(plotly)

dat %>% 
  # 核心步骤:按x值升序排序,保证连线逻辑和ggplot2一致
  arrange(x) %>% 
  plot_ly(x = ~x, y = ~y) %>% 
  add_trace(type = "scatter", mode = "markers", name = "数据点") %>% 
  add_trace(mode = "lines", name = "连接线")

如果需要实现你说的平滑连接线效果,可以再加线条平滑参数:

dat %>% 
  arrange(x) %>% 
  plot_ly(x = ~x, y = ~y) %>% 
  add_trace(type = "scatter", mode = "markers", name = "数据点") %>% 
  add_trace(mode = "lines", name = "平滑连接线",
            line = list(shape = "spline", smoothing = 0.4))

调整smoothing参数的数值(0~1区间)可以修改平滑程度,数值越大曲线越平滑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:39:02