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

CairoMakie绘制单个箱线图时width参数被忽略的问题咨询

问题原因说明

这个现象不属于Bug,是Makie库箱线图的默认轴范围适配逻辑导致的:

  • 当存在2个及以上箱线分组时,x轴默认范围会覆盖所有分组的前后各0.5单位,分组间的间隔为1单位,width参数基于单位间隔计算的宽度可以正常展示
  • 当仅存在1个分组时,x轴默认范围会紧贴该分组的前后边界,没有预留多余的空白空间,因此设置的宽度看起来和默认宽度一致,实际是被压缩的轴范围覆盖了视觉效果

可行解决方案

方案1:手动调整x轴范围

绘制完成后手动修改x轴的上下限,给两侧预留足够的空白空间即可显示设置的宽度:

using CairoMakie

xs = rand(1:1, 1000)
ys = randn(1000)

# 接收返回的轴对象
fig, ax, plt = boxplot(xs, ys; width=0.2)
# 手动设置x轴范围,按需调整两端的留白大小
xlims!(ax, 0, 2)
current_figure()

方案2:创建图表时直接指定轴范围

也可以在调用boxplot时直接传入轴参数提前设定范围:

using CairoMakie

xs = rand(1:1, 1000)
ys = randn(1000)

boxplot(xs, ys; width=0.2, axis=(; limits=(0, 2, nothing, nothing)))
current_figure()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:54:02