当前位置:网站首页>借助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 来转到别的运行任务上去。
边栏推荐
猜你喜欢
自监督论文阅读笔记Index Your Position: A Novel Self-Supervised Learning Method for Remote Sensing Images Sema
优雅的拦截TabLayout的点击事件
Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})
自我监督学习和BERT模型
卷积神经网络入门
设备树解析源码分析<devicetree>-1.基础结构
Oracle 密码策略详解
Execute the mysql script file in the docker mysql container and solve the garbled characters
【第一周】深度学习和pytorch基础
【HQL】(二) 查询使用正则表达式做列选择
随机推荐
自我监督学习和BERT模型
MySQL 排序
自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning
PCB设计经验之模拟电路和数字电路区别为何那么大
中国融资租赁行业市场投资分析与前景战略规划建议报告2022~2028年
电子元器件之电子变压器可分为哪几类?
Convolutional Nerual Nertwork(CNN)
设备树解析源码分析<devicetree>-1.基础结构
嵌入式实验四
嵌入式实验二
[XSS, file upload, file inclusion]
中国聚氯乙烯(PVC)土工膜发展动态及投资前景预测报告2022~2028年
opencv透视变化
ASP.NET MVC3的伪静态实现
寄存器常见指令
自监督论文阅读笔记 Self-Supervised Visual Representation Learning with Semantic Grouping
double型数据转字符串后通过MCU串口发送
【HQL】(一)json字符串处理json_tuple和get_json_object
理论上的嵌入式跑马灯
中国水产养殖行业市场投资分析及未来风险预测报告2022~2028年