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

Plotly R:仅保留抖动点(去除箱线图)的实现方案问询

实现仅保留抖动点的Plotly可视化

我们可以直接通过**散点图(Scatter Trace)**实现和目标帖子最佳答案一致的抖动点效果,无需依赖箱线图组件,具体实现如下:

核心思路

为每个类别分配固定的X轴基准位置,给每个数据点的X坐标添加小范围随机噪声(即抖动),再用散点图直接绘制这些带抖动的点,完全脱离箱线图结构。

代码实现(Python Plotly)

import plotly.graph_objects as go
import numpy as np

# 示例分组数据
categories = ["Group 1", "Group 2", "Group 3"]
group_data = {
    "Group 1": np.random.normal(5, 1, 50),
    "Group 2": np.random.normal(7, 1.2, 60),
    "Group 3": np.random.normal(6, 0.8, 45)
}

# 生成带抖动的坐标集合
x_coords = []
y_coords = []
for idx, group_name in enumerate(categories):
    # 每个分组的基准X位置
    base_x = idx + 1
    # 添加±0.2范围的随机抖动(幅度可按需调整)
    jittered_x = base_x + np.random.uniform(-0.2, 0.2, len(group_data[group_name]))
    x_coords.extend(jittered_x)
    y_coords.extend(group_data[group_name])

# 绘制纯抖动点散点图
fig = go.Figure()
fig.add_trace(go.Scatter(
    x=x_coords,
    y=y_coords,
    mode='markers',
    marker=dict(
        size=8,
        color='#1f77b4',
        opacity=0.7
    )
))

# 配置坐标轴与布局
fig.update_layout(
    xaxis=dict(
        tickmode='array',
        tickvals=[1, 2, 3],
        ticktext=categories
    ),
    yaxis_title="数值",
    title="纯抖动点可视化效果"
)

fig.show()

关键细节调整

  • 抖动幅度:修改np.random.uniform的上下限(比如±0.1或±0.3),可匹配原帖的分散程度
  • 样式匹配:调整marker参数的color、size、opacity等属性,可完全复刻原帖的点样式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:45:33