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

MatLab中如何在图形最高点标红圈、最低点标黑方块?是否仅限2D图形?

在MATLAB中标记图形的最高点与最低点

嘿,这个需求其实挺常见的,实现起来也不复杂,我分两种场景给你详细说明:

一、2D图形的标记方法

咱们先从最常用的2D曲线入手,比如一条带噪声的正弦曲线,步骤非常清晰:

  1. 生成或导入你的目标数据;
  2. 用max()和min()函数找到数值极值,同时获取它们在数组中的索引;
  3. 用scatter()或者plot()函数在对应位置添加指定样式的标记。

直接上可运行的示例代码,你可以替换成自己的数据:

% 生成示例2D数据(换成你自己的数据即可)
x = linspace(0, 4*pi, 100);
y = sin(x) + 0.2*randn(size(x)); % 带随机噪声的正弦曲线

% 获取最高点和最低点的数值与索引
[max_y, max_idx] = max(y);
[min_y, min_idx] = min(y);

% 绘制原始曲线
plot(x, y, 'b-', 'LineWidth', 1.5);
hold on; % 保持绘图窗口,避免覆盖原始曲线

% 标记最高点:红色填充圆形
scatter(x(max_idx), max_y, 80, 'r', 'filled', 'Marker', 'o');
% 如果你习惯用plot函数,也可以这么写:
% plot(x(max_idx), max_y, 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r');

% 标记最低点:黑色填充方形
scatter(x(min_idx), min_y, 80, 'k', 'filled', 'Marker', 's');
% 对应plot写法:
% plot(x(min_idx), min_y, 'ks', 'MarkerSize', 10, 'MarkerFaceColor', 'k');

% 美化图形(可选)
legend('原始曲线', '最高点', '最低点');
xlabel('X轴');
ylabel('Y轴');
title('带高低点标记的2D曲线');
hold off;

这里的80是标记的大小,'filled'让标记呈实心状态,更醒目;你可以根据需求自由调整标记的样式、颜色和尺寸。

二、3D图形也能实现标记

你问的“是否只能在2D图形中进行”——答案是当然不是,3D曲面、散点图同样可以标记极值点,只是需要稍微处理一下坐标转换。

比如以马鞍面为例,步骤如下:

  1. 生成3D网格数据;
  2. 找到Z值的极值,用ind2sub()函数把线性索引转换成网格坐标;
  3. 用scatter3()或者plot3()添加标记。

示例代码:

% 生成3D曲面数据
[X, Y] = meshgrid(-2:0.1:2);
Z = X.^2 - Y.^2; % 马鞍面

% 获取Z的极值及对应位置
[max_Z, max_idx] = max(Z(:)); % 先把Z转成一维数组找极值
[min_Z, min_idx] = min(Z(:));

% 把线性索引转换为网格坐标
[max_row, max_col] = ind2sub(size(Z), max_idx);
max_x = X(max_row, max_col);
max_y = Y(max_row, max_col);

[min_row, min_col] = ind2sub(size(Z), min_idx);
min_x = X(min_row, min_col);
min_y = Y(min_row, min_col);

% 绘制3D曲面
surf(X, Y, Z);
hold on;
shading interp; % 让曲面颜色更平滑

% 标记最高点:红色填充圆形
scatter3(max_x, max_y, max_Z, 100, 'r', 'filled', 'Marker', 'o');
% 标记最低点:黑色填充方形
scatter3(min_x, min_y, min_Z, 100, 'k', 'filled', 'Marker', 's');

% 美化图形(可选)
xlabel('X轴');
ylabel('Y轴');
zlabel('Z轴');
title('带高低点标记的3D曲面');
hold off;

总结

不管是2D还是3D图形,核心逻辑都是:找到极值的位置坐标 → 在对应坐标上添加指定样式的标记。你可以根据自己的图形类型(曲线、曲面、散点图等)调整绘制和标记的函数,灵活度很高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:21:36