- 积分
- 46
- 注册时间
- 2007-4-28
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2011-9-22 15:43:39
|
显示全部楼层
来自 河北廊坊
loveblue 发表于 2011-9-21 20:11
axes2pix函数是将轴坐标转换成像素坐标,
实现不了按图的实际坐标定点的目的。 ...
请你仔细的分析别人给你的建议,不用随意的下结论,下面是我用axes2pix实现这个功能的代码- clear;clc;close all
- h = figure('menubar','none','name','heart',...
- 'NumberTitle','off','Units','pix ');
- ax(1) = subplot(211);
- fplot(@sin,[-pi,pi]);
- ax(2) = subplot(212);
- fplot(@cos,[-pi,pi]);
- set(ax,'unit','pix','NextP','Add');
- prompt = {'x1:','y1:','x2:','y2:'};
- dlg_title = '数据输入';
- num_lines = 1;
- def = {'1','0.5','2','-0.6'};
- p = inputdlg(prompt,dlg_title,num_lines,def);
- [x1,y1,x2,y2] = feval(@(x)x{:},num2cell(str2double(p)));
- plot(ax(1),x1,y1,'r*','Markers',18);
- plot(ax(2),x2,y2,'g*','Markers',18);
- pos = get(ax,'pos');
- posf = get(h,'pos');
- nx(1) = axes2pix(pos{1}(3),get(ax(1),'xlim'),x1) + pos{1}(1);
- ny(1) = axes2pix(pos{1}(4),get(ax(1),'ylim'),y1) + pos{1}(2);
- nx(2) = axes2pix(pos{2}(3),get(ax(2),'xlim'),x2) + pos{2}(1);
- ny(2) = axes2pix(pos{2}(4),get(ax(2),'ylim'),y2) + pos{2}(2);
- annotation(h,'line',nx/posf(3),ny/posf(4),...
- 'LineStyle','--','LineWid',4);
复制代码 |
评分
-
1
查看全部评分
-
|