【matlab】如何提取论文plot图中的数据

发布时间:2026/6/24 12:20:29

【matlab】如何提取论文plot图中的数据 用origin太麻烦了还得安装付费插件得到的数据的导出过程还麻烦这里给出matlab的处理方法参考链接1matlab读取论文图中数据参考链接2【Matlab】Curve Fitting Tool的使用方式拟合函数、导出函数、调用函数参考链接3【matlab】矩阵按某列排序且不改变行代码%https://blog.csdn.net/JISANSAN/article/details/106722830?utm_mediumdistribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-2-106722830-blog-150155985.235^v43^pc_blog_bottom_relevance_base4spm1001.2101.3001.4242.2utm_relevant_index5clc clear close all%% 1.图片与曲线间的定标imimread(figure4.png);%读入图片(替换成需要提取曲线的图片)imrgb2gray(im);%灰度变化threshgraythresh(im)/100.9;%二值化阈值设大一些防止一些浅色线读取不到imim2bw(im,thresh);%二值化set(0,defaultfigurecolor,w)imshow(im)%显示图片[y,x]find(im0);%找出图形中的“黑点”的坐标。该坐标是一维数据。ymax(y)-y;%将屏幕坐标转换为右手系笛卡尔坐标yfliplr(y);%fliplr()——左右翻转数组plot(x,y,r.,Markersize,2);disp(请在Figrure中先后点击实际坐标框的两个顶点(左上点和右下点)即A、B两点. );[Xx,Yy]ginput(2);%Xx,Yy——指实际坐标框的两个顶点min_xinput(最小的x值);%输入x轴最小值max_xinput(最大的x值);%输入x轴最大值min_yinput(最小的y值);%输入y轴最小值max_yinput(最大的y值);%输入y轴最大值x(x-Xx(1))*(max_x-min_x)/(Xx(2)-Xx(1))min_x;y(y-Yy(1))*(min_y-max_y)/(Yy(2)-Yy(1))max_y;%% 2.画图figure(1)plot(x,y,r.,Markersize,2);axis([min_x,max_x,min_y,max_y])%根据输入设置坐标范围title(由原图片得到的未处理散点图)% 使用getpts函数选择点[x_get_1,y_get_1]getpts;% 选中的点的坐标[x_get_2,y_get_2]getpts;% 选中的点的坐标%% 3.绘制提取数的据figure(101)plot(x_get_1,y_get_1,r-,Markersize,2,LineWidth,3)xlabel(x)ylabel(y)title(手动提取的散点图曲线1)figure(102)plot(x_get_2,y_get_2,b-,Markersize,2,LineWidth,3)xlabel(x)ylabel(y)title(手动提取的散点图曲线2)流程1运行代码2在弹出的Figrure图框中先后点击实际坐标框的两个顶点(左上点和右下点)3输入实际坐标框的坐标范围图例为-12、12、-1200、1200后即可使原图与matlab的figure坐标框对齐4在figure坐标框中拾取点点得按照曲线取越密越好拾取完毕后敲“enter键”即可绘制对应的数据图示例中包含两种曲线需要拾取两次拾取散点图1拾取散点图2效果提取数据可以采用拟合的方法提升平滑性或者得到拟合函数链接【Matlab】Curve Fitting Tool的使用方式拟合函数、导出函数、调用函数对比原图精确的扒图做不到但是可以描述其数量、形状

相关新闻