首页 > 解决方案 > 绘制最大值和最小值

问题描述

plot(timevec,fuelCost,'-k')
grid on
xlabel('Time(days)');
ylabel('Amount of Money Spent ($)');
title({'Plant Production Cost';'01 April 2013 - 30 April 2013'})

如果我正在绘制此图,我将如何绘制图中包含的最大值和最小值?

标签: matlab

解决方案


假设fuelcost是单个数据向量(即不是多列矩阵),并且您希望水平线跨越整个数据范围,然后在当前行之后,使用,

timespan = [min(timevec) max(timevec)]; % or timespan = xlim(gca);
line(timespan,[1 1]*max(fuelCost),'Color',[1 0 0]);
line(timespan,[1 1]*min(fuelCost),'Color',[0 1 0]);

如果您只想在绘图上的正确点上点点,那么在当前行之后,使用,

[max_val,i_max] = max(fuelCost);
[min_val,i_min] = min(fuelCost);
line(timevec([i_min,i_max]),[min_val,max_val],'Marker','.','Linestyle','none','Markersize',10);

推荐阅读