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

Matlab 2015b中如何修改柱状图单个柱子的颜色?

在MATLAB R2015b中修改单个柱状图柱子的颜色

在MATLAB R2015b中,柱状图的对象模型和较新版本有明显区别,你遇到的属性不存在问题正是因为这个差异。下面是适配R2015b的解决方案:

可行方案:操作柱子的底层Patch对象

在R2015b中,bar函数返回的是一个整体的Bar对象,单个柱子实际上是由多个Patch子对象组成的。我们需要先获取这些Patch对象,再单独修改目标柱子的属性:

% 绘制基础柱状图
b = bar(1:30);
% 获取所有柱子对应的Patch对象数组
patchObjs = findobj(b, 'Type', 'Patch');
% 找到最大值对应的柱子索引
[bv, bi] = max(1:30);
% 修改目标柱子的外观属性
patchObjs(bi).FaceColor = [0.4 0.4 0.4];  % 设置填充颜色为深灰色
patchObjs(bi).EdgeColor = 'red';          % 设置边框为红色
patchObjs(bi).LineWidth = 2;              % 加粗边框宽度

为什么你的原有代码会报错?

  • 你尝试用b(bi)访问单个柱子:在R2015b中,bar返回的不是单个柱子的对象数组,而是一个整体的Bar容器,因此b(bi)会返回GraphicsPlaceholder,自然没有LineWidth或EdgeColor属性。
  • 你尝试设置b.CData:R2015b的Bar对象并不具备CData属性,这个属性是后续版本才添加的,所以直接赋值会提示找不到该字段。

这个方法直接操作组成柱子的底层图形对象,完全适配R2015b的版本特性,能精准修改单个柱子的外观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:15:42