当前位置:网站首页>借助ginput函数在figure窗口实时读取、展示多条曲线的坐标值
借助ginput函数在figure窗口实时读取、展示多条曲线的坐标值
2022-08-03 05:24:00 【zdlwhereyougo】
MATLAB借助ginput函数实时读取多条曲线数值
客户希望实时读取每条曲线上的数值。感觉做成GUI太复杂了,不太会写回调函数之类的东西。网上看到有用ginput函数来实现读取figure窗口坐标的 。
基本的调用格式如下,
[xread,yread] = ginput(1);%获得一个点
这个调用格式可以通过MATLAB自带的教程,查看函数说明,不再赘述,我这个命令的意思就是获得一个点的坐标。我获得这个点的坐标以后,我进行了进一步的处理。判断读取到的xread最接近哪一个数据点的横坐标x,读取x对应的y值即可。显示的内容我利用了legend的属性,将x坐标展示在了title的位置,每一条曲线上的y值展示在了legend的位置。
代码如下:
%多条曲线,同时显示读取数据
clc;clear all;close all;
ymax=2;ymin=-2;%单位亿元 这个是纵轴,需要手动调整一下,因为每个图像的最大最小值可能有区别
xmin=0;xmax=20;%时间分钟,前一半是9:31到11:30,后一半时13:00到15:00
xi=xmin:0.1:xmax;
y1=sin(xi+1);
y2=sin(xi+2);
y3=sin(xi+3);
y4=sin(xi+4);
y5=sin(xi+5);
figure;
set(gcf,'outerposition',get(0,'screensize'));%窗口自动最大化
plot(xi,y1,'LineWidth',2);hold on
plot(xi,y2,'LineWidth',2);hold on
plot(xi,y3,'LineWidth',2);hold on
plot(xi,y4,'LineWidth',2);hold on
plot(xi,y5,'LineWidth',2);hold on
xticks(0:3:20);xlim([0,20])
ylim([ymin,ymax]);
xlabel('时间');ylabel('金额(亿元)')
char1=['y1'];
char2=['y2'];
char3=['y3'];
char4=['y4'];
char5=['y5'];
legend(char1,char2,char3,char4,char5);
try
while 1
[xread,yread] = ginput(1);%获得一个点
xdelta=abs(xi-xread);
xindex=find(xdelta==min(xdelta));%确定最接近的索引
char1=['y1= ',num2str(y1(xindex))];
char2=['y2= ',num2str(y2(xindex))];
char3=['y3= ',num2str(y3(xindex))];
char4=['y4= ',num2str(y4(xindex))];
char5=['y5= ',num2str(y5(xindex))];
lgd=legend(char1,char2,char3,char4,char5);
lgdtext=['xi= ',num2str(xi(xindex))];
lgd.Title.String=lgdtext;
pause(0.1)
end
catch
end
初始状态

读取数值
还可以继续读

利用死循环,让程序一直执行,只要不关闭这个绘图窗口就可以一直执行读取任务。
展示结束以后还可以通过try catch 来转到别的运行任务上去。
边栏推荐
猜你喜欢

嵌入式实验二

自我监督学习和BERT模型

自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery

MySQL 下载和安装详解

Let small program development into ` tailwind jit ` era

解决Gradle Download缓慢的百种方法

自监督论文阅读笔记 Multi-motion and Appearance Self-Supervised Moving Object Detection
深度学习理论课程第四、五章总结

网络间通信

PCB设计经验之模拟电路和数字电路区别为何那么大
随机推荐
Kettle 从资源库中载入新的转换出错(Invalid byte 1 of 1-byte UTF-8 sequence)
损失函数(第五周)
代码没写完,哪里有脸睡觉!17 张程序员壁纸推荐
最优化方法概述
HANA 常用数据类型详解
采用Trench肖特基二极管,实现功率密度的显著提升
关于芯片你了解吗?
中国生物反应器行业发展现状及前景规划分析报告报告2022~2028年
【HQL】(二) 查询使用正则表达式做列选择
Qlik Sense 字符串截取和拼接详解(Left、Right、&)
ASP.NET MVC3的伪静态实现
softmax和最大熵
VCC(电源)和 GND(地)之间电容的作用
opencv
A.1#【内存管理】——1.1.4 node: 初始化
page fault-页异常流程
Oracle 密码策略详解
【IDEA】字体修改-护眼主题-文件注释头设置
理论上的嵌入式跑马灯
中国聚氯乙烯(PVC)土工膜发展动态及投资前景预测报告2022~2028年