matlab - 绘制最大值和最小值
问题描述
plot(timevec,fuelCost,'-k')
grid on
xlabel('Time(days)');
ylabel('Amount of Money Spent ($)');
title({'Plant Production Cost';'01 April 2013 - 30 April 2013'})
如果我正在绘制此图,我将如何绘制图中包含的最大值和最小值?
解决方案
假设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);
推荐阅读
- flutter - Flutter:具有动态高度的 SizedBox
- ios - 如何在部分中移动行?
- android - setDeviceCredentialAllowed 和 ERROR_USER_CANCELED
- vim - 如何在 neovim 中安装 vim-translate 插件
- d3.js - 使用 MOUSEOVER 的 D3 Tree ON 事件问题
- sql - Access SQL 子查询 WHERE 子句不过滤结果
- r - imap 并在输出中使用输入变量的名称
- postgresql - 从 App Engine Flexible 连接到 Cloud SQL 时出现问题
- laravel - 使用 Blade 在 foreach 循环中嵌套 if 语句
- ansible - 带有循环项的 Ansible 条件省略过滤器