254165642 发表于 2011-5-13 12:42:21

请教 取点显示值

程序如下 想直接显示坐标点的值 如何修改。

ljelly 发表于 2011-5-13 13:44:49

本帖最后由 ljelly 于 2011-5-13 13:46 编辑

1# 254165642

把最后一句改成如下即可
text(x,y, );下次发帖时,直接把代码贴上来,不要用附件,这样看起来更直观

其代码为:
function main()
clc; close all;
global hfig
hfig = figure;
hold on; box on;
haxis = gca;
x = linspace(0, 2*pi);
y1 = sin(x);
y2 = cos(x);
line(y1, y2);
axis equal;
set(haxis, 'ButtonDownFcn', @click_ceshi);
function click_ceshi(src, event)
global hfig
% 获取当前点坐标
xy = get(hfig, 'CurrentPoint');
% 获取gcf和gca的位置信息
hpos = get(hfig, 'Position');
apos = get(gca, 'Position');
% 更新点的信息,获取点针对于gca的准确坐标信息
x = (xy(1) - apos(1)*hpos(3))/(apos(3)*hpos(3));
y = (xy(2) - apos(2)*hpos(4))/(apos(4)*hpos(4));
xlim = get(gca, 'XLim');
ylim = get(gca, 'YLim');
x = x*(xlim(2) - xlim(1)) + xlim(1);
y = y*(ylim(2) - ylim(1)) + ylim(1);
% 标注
text(x, y, '', 'color', rand(3, 1));

254165642 发表于 2011-5-13 14:01:54

2# ljelly
谢谢 !
好的 下次传代码!
为什么曲线处的值不能显示?要是想要得到曲线上的某点坐标该怎么做?
页: [1]
查看完整版本: 请教 取点显示值