Beeswarm / Strip Plot
Jittered raw data points by group — better than a bar chart for small samples.
Rendering…
Make it your own.
{
"data":[
{"type":"box","y":[4.2,4.8,3.9,5.1,4.4,4.0,5.6,4.5,4.7,4.9],"name":"Placebo",
"boxpoints":"all","jitter":0.7,"pointpos":0,"marker":{"size":8,"color":"#94a3b8"},
"boxmean":true,"line":{"color":"#475569"}},
{"type":"box","y":[6.3,5.9,7.2,6.8,6.1,6.5,7.4,6.7,7.0,7.3],"name":"Low dose",
"boxpoints":"all","jitter":0.7,"pointpos":0,"marker":{"size":8,"color":"#1f47f5"},
"boxmean":true,"line":{"color":"#1f47f5"}},
{"type":"box","y":[8.1,7.6,8.9,8.5,7.9,8.2,9.4,8.7,9.0,9.1],"name":"High dose",
"boxpoints":"all","jitter":0.7,"pointpos":0,"marker":{"size":8,"color":"#dc2626"},
"boxmean":true,"line":{"color":"#dc2626"}}
],
"layout":{"title":"Response by treatment (beeswarm)","yaxis":{"title":"Response"}}
}