当前位置:网站首页>借助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 来转到别的运行任务上去。
边栏推荐
猜你喜欢
自监督论文阅读笔记Reading and Writing: Discriminative and Generative Modelingfor Self-Supervised Text Recogn
PCB设计经验之模拟电路和数字电路区别为何那么大
嵌入式实验二
优雅的拦截TabLayout的点击事件
自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning
嵌入式实验四
MySQL 下载和安装详解
MySQL 安装报错的解决方法
Dynamic adjustment subject web system?Look at this one is enough
设备树解析源码分析<devicetree>-1.基础结构
随机推荐
自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning
中国石油行业并购重组趋势与投资战略规划建议报告2022~2028年
关于芯片你了解吗?
建立平衡二叉树简单demo
Oracle null 有哪些注意事项【面试题】
ucosII OSMemCreate()函数的解析
SAP HANA 新增一列时报错详解
自监督论文阅读笔记 Multi-motion and Appearance Self-Supervised Moving Object Detection
中国食品微生物检测行业深度监测及投资战略规划建议报告2022~2028年
php连接数据库脚本
MCU接收串口字符型数据转换成数据型数据
B.1#【编程语言】—1 arm 汇编指令
嵌入式实验四
嵌入汇编-1 格式讲解
Qlik Sense 临时处理表数据详解(Resident)
MySQL 慢查询
自监督论文阅读笔记SELF-SUPERVISED SPECTRAL MATCHING NETWORK FOR HYPERSPECTRAL TARGET DETECTION
block底层探索
MySql 怎么查出符合条件的最新的数据行?
Gradle插件与代理服务器导致Sync Project失败的问题