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

如何在MATLAB中高亮柱状图里反射效应带来的差值部分?

MATLAB 分组柱状图反射差值高亮实现方案

核心思路

在「无反射」基准柱状图的顶部,叠加绘制**反射差值(带反射值 - 无反射值)**的柱状条,通过颜色区分突出反射效应的影响。关键是利用bar函数的BaseValue参数,指定差值柱的底部基准为对应无反射数值,确保两者精准对齐。

具体实现代码

替换示例数据为你的实际数据即可直接运行:

% 替换为你的实际数据
NoReflect = [120, 150, 180];    % 无反射覆盖面积数组
WithReflect = [160, 195, 225]; % 带反射覆盖面积数组
QAM_labels = {'QAM4', 'QAM16', 'QAM64'}; % 调制方式标签
x_pos = 1:length(NoReflect);   % x轴位置索引

% 若为右侧子图,先指定subplot位置,比如subplot(1,2,2)
subplot(1,2,2);
hold on;

% 1. 绘制无反射基准柱,设置基础样式
base_bar = bar(x_pos, NoReflect, 'FaceColor', '#4a6fe3', 'BarWidth', 0.4);

% 2. 计算反射差值
reflect_diff = WithReflect - NoReflect;

% 3. 在基准柱顶部绘制差值高亮柱,指定底部基准为无反射值
diff_bar = bar(x_pos, reflect_diff, 'FaceColor', '#e74c3c', 'BarWidth', 0.4, 'BaseValue', NoReflect);

% 4. 图表美化(按需调整)
xticks(x_pos);
xticklabels(QAM_labels);
xlabel('调制方式');
ylabel('覆盖面积 (m²)');
legend({'无反射基线', '反射效应差值'}, 'Location', 'northwest');
title('反射效应对覆盖面积的影响');
grid on;

hold off;

关键参数说明

  • BaseValue: 强制差值柱的底部从对应无反射数值开始绘制,完美叠加在基准柱顶部
  • BarWidth: 保持基准柱和差值柱宽度一致,避免错位
  • 颜色选择:用对比色(如蓝色基准+红色高亮)强化视觉差异,可根据需求替换颜色代码

适配现有代码注意事项

如果你的现有代码是包含两组数据的分组柱状图,只需保留右侧图中「无反射」的柱子绘制逻辑,再叠加上述差值柱代码即可;若右侧图是独立子图,直接将上述代码嵌入对应subplot块中即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 14:03:17