当前位置:网站首页>借助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 来转到别的运行任务上去。
边栏推荐
猜你喜欢
随机推荐
自监督论文阅读笔记 SimCLRV2 Big Self-Supervised Models are Strong Semi-Supervised Learners
自监督论文阅读笔记 Self-supervised Label Augmentation via Input Transformations
B.1#【编程语言】—1 arm 汇编指令
动漫:海贼王女
中国认证认可服务行业“十四五”发展规划及经营模式分析报告2022~2028年
神经网络基础
VCC(电源)和 GND(地)之间电容的作用
自监督论文阅读笔记: MoCoV2使用动量对比学习改进基线
中国柔性制造系统(FMS)市场发展动态及未来趋势预测报告2022~2028年
用户登录验证程序的实现
设备树(devicetree)-dts语法
Convolutional Nerual Nertwork(CNN)
自监督论文阅读笔记FIAD net: a Fast SAR ship detection network based on feature integration attention and self
MySQL 慢查询
关于梯度下降法的一些优化方法
Gradle插件与代理服务器导致Sync Project失败的问题
softmax和最大熵
c#,.net 下载文件 设置断点
中国食品微生物检测行业深度监测及投资战略规划建议报告2022~2028年
设备树解析源码分析<devicetree>-1.基础结构









