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

使用Julia的StatsPlots.jl绘制分组柱状图,如何正确添加图例?

解决Julia groupedbar添加图例后数据显示异常的问题

你的问题出在group参数的使用方式上,Plots.jl中groupedbar处理矩阵数据时,group参数不是用来指定行/列分组标签的,强行传入短向量会导致数据匹配错误,只显示部分点。要给不同颜色的柱子加自定义图例,有两种简单的解决方法:

方法一:直接用label参数指定分组标签

当数据是矩阵格式时,矩阵的每一行对应一个分组,直接用label参数传入和行数一致的标签向量即可:

x_data = [5 10;
          15 20]

groupedbar(["0.2", "0.8"], x_data, xlabel = "X-axis", 
           ylabel="Y-axis", label = ["Category 1" "Category 2"])

这里label的两个元素分别对应矩阵的两行(也就是两个分组),会自动生成对应颜色的图例,同时所有数据点都会正常显示。

方法二:整理数据为向量+group参数

如果你更习惯用group参数,可以把数据拆成x、y向量,同时生成对应的分组标签向量:

# 重复x轴标签,每个标签对应两个分组数据
x = repeat(["0.2", "0.8"], inner=2)
# 把矩阵数据展平为向量
y = vec(x_data')
# 生成分组标签,每个分组对应两个x位置的数据
groups = repeat(["Category 1", "Category 2"], outer=2)

groupedbar(x, y, group=groups, xlabel="X-axis", ylabel="Y-axis")

这样group参数能正确匹配每个数据点的分组,图例和柱形都会正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:00:58