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

如何在Julia的PlotlyJS中实现箱线图上叠加数据点?

在Julia PlotlyJS中叠加数据点到箱线图上方的解决方案

要实现数据点叠加在箱线图之上,你需要分别创建箱线图轨迹和散点图轨迹,再将两者组合到同一个图表中——直接用boxpoints参数会默认并排显示,手动拆分轨迹是更可靠的替代方式。

以下是可复现代码:

using PlotlyJS, DataFrames

# 加载示例数据
df = dataset(DataFrame, "tips")

# 创建箱线图轨迹
box_trace = box(
    x=df.time,
    y=df.total_bill,
    name="Total Bill"
)

# 创建散点图轨迹(叠加在箱线图上)
scatter_trace = scatter(
    x=df.time,
    y=df.total_bill,
    mode="markers",
    marker=attr(size=6, opacity=0.6),  # 调整点的大小和透明度,避免遮挡箱线图
    name="Data Points"
)

# 组合两个轨迹并绘图
plot([box_trace, scatter_trace])

如果想避免散点完全重叠,可给x轴添加微小随机抖动,让点分布更清晰:

# 给散点x值添加±0.05范围的随机抖动
jittered_x = [rand()*0.1 - 0.05 for _ in df.time]
scatter_trace = scatter(
    x=df.time .+ jittered_x,
    y=df.total_bill,
    mode="markers",
    marker=attr(size=6, opacity=0.6),
    name="Data Points"
)

通过这种方式就能实现数据点完全叠加在箱线图上方的效果,等价于Python Plotly中stripmode="overlay"的功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:56:05