matlab 画最小值与最大值还有平均值的一个表示图
时间: 2025-03-01 11:07:16 浏览: 148
### 使用 MATLAB 绘制显示最小值、最大值和平均值的图表
为了展示一组数据集中的最小值、最大值以及平均值,可以通过创建带有误差条或阴影区域的折线图来实现。下面介绍一种方法,即通过计算给定数据序列的最大值、最小值及其算术平均数,并借助 `fill` 函数填充表示极差范围内的颜色区域,同时画出代表均值趋势的直线。
假设有一组时间序列的数据存储于向量 `yData` 中:
```matlab
% 假设这是某段时间内记录的一系列观测值
timePoints = linspace(0, pi*2, 100); % 时间轴上的点分布
yData = sin(timePoints) .* (rand(size(timePoints)) * 0.5 + 0.75); % 随机生成一些波动性的测量数据
```
接着求取这些数值对应的统计指标:
```matlab
minValues = min(yData);
maxValues = max(yData);
meanValue = mean(yData);
% 如果有多个样本,则应按列分别处理各组数据获取各自的统计数据
if ismatrix(yData)
minValues = min(yData,[],1)';
maxValues = max(yData,[],1)';
meanValue = mean(yData,1)';
end
```
现在有了足够的信息去构建所需的可视化效果了。这里采用两种方式之一:一是直接连接各个时刻下的上下限构成包络线;二是围绕着中心位置(即均值)用半透明的颜色带标记出变化区间[^1]。
#### 方法一:绘制边界线与均值线
```matlab
figure;
hold on;
plot(timePoints, ones(length(timePoints), length(minValues))*minValues', '-r'); % 下界红线
plot(timePoints, ones(length(timePoints), length(maxValues))*maxValues', '-g'); % 上界绿线
plot(timePoints, ones(length(timePoints), length(meanValue))*meanValue', '--k'); % 均值黑虚线
legend('Min Value Line','Max Value Line','Mean Value');
title('Time Series with Min/Max/Mean Lines');
xlabel('Time Points');
ylabel('Observed Values');
grid minor;
box off;
hold off;
```
这种方法简单明了,适合用于快速查看单个变量随时间或其他连续维度的变化情况。
#### 方法二:使用 `fill` 创建彩色区域并叠加均值曲线
此方案更直观地反映了不确定度范围,适用于强调整体走势而非精确数值的情况。
```matlab
figure;
hold on;
for i=1:length(minValues)
fill([timePoints fliplr(timePoints)], ...
[ones(size(timePoints))*minValues(i)' fliplr(ones(size(timePoints))*maxValues(i)')], ...
'b', 'FaceAlpha', .2, 'EdgeColor', 'none');
end
plot(timePoints, ones(length(timePoints), length(meanValue))*meanValue', '--w', 'LineWidth', 2); % 白色均值实线覆盖在蓝色背景之上
axis tight;
colorbar; colorbar visible off; % 添加伪彩条但不显示刻度标签以便更好地匹配视觉风格
colormap winter; % 调整配色方案使对比更加明显
legend({'Uncertainty Range' 'Average Trend'},...
Location='BestOutsidePlot');
title('Time Series Highlighting Uncertainty and Average Behavior');
xlabel('Time Points');
ylabel('Observed Values');
grid minor;
box off;
hold off;
```
上述代码片段实现了对原始数据集中每个元素对应的时间戳上所测得的结果进行分析汇总,并以图形化形式呈现出来。其中,第一种做法侧重表达具体的界限所在之处,而第二种则倾向于传达总体模式及可能存在的偏差程度[^2]。
阅读全文
相关推荐

















