matlab画图,能够在图中时时显示鼠标在图中的位置(不需要点击!!!!),请问高手们怎么实现啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab画图,能够在图中时时显示鼠标在图中的位置(不需要点击!!!!),请问高手们怎么实现啊相关的知识,希望对你有一定的参考价值。

有人跟我说过要用ginput函数和text函数配合使用,可是当我试了以后 发现只有当我鼠标点下后 嗯enter键才会在图上显示出来。我想实现那种我移动鼠标不用点击就能看到这个时候的左边:程序如下 请帮我修改
x=5:30;
y=x.^2-40.*x+400;
plot(x,y);
axis([5,30,-50,250]);
[a,b]=ginput;
s=[a,b];
text(15,200,num2str(s));
问过同样的问题 但是误点了采纳 作为工科生就应该一问到底哈 求高手帮忙解决

function tmouse(action)

global h
if nargin == 0, action = 'start'; end
switch(action)
    case 'start',
        x=5:30;
        y=x.^2-40.*x+400;
        plot(x,y);
        axis([5,30,-50,250]);
        title('Move your mouse !'); 
        set(gcf,'WindowButtonMotionFcn','tmouse move');
        h = text(2,-80,' ');
  case 'move',
        currPt = get(gca, 'CurrentPoint');
        x = currPt(1,1);
        y = currPt(1,2);
        set(h,'String',[num2str(x),',',num2str(y)]);
 end

参考技术A

新建个ff.m文件:

function ff
x = 5:30;
y = x.^2-40.*x+400;
plot(x,y);
axis([5,30,-50,250]);
 
tb = text;
set(gcf, 'WindowButtonMotionFcn', @callback);
 
function callback(hObject, event)
    loc = get(gca, 'CurrentPoint');
    loc = loc([1 3]);
    set(tb, 'string', num2str(loc), 'position', loc);
end
end

matlab画图如何清除图中的一部分

问题描述如下,用matlab动态的的画一个网络的演化过程,网络的演变过程中,点和边不断地加入,这个可以通过 hold,pause来解决的,但是这当中有时会要去掉之前已画的某一条边或某个点,这个该如何动态的实现呢?就是说如何清除之前所画图中的某一部分?是不是matlab中有这样的函数?
movie函数我也想过,不过那个help看都看不懂,如果movie能够做到的话,请具体说一下movie得用法,最好是结合我的问题的具体操作,cla是删除全部图像把,我要删除的是一部分阿

可以通过get函数获取坐标轴的children属性,该属性保存了坐标轴中的所有子图形。之后利用delete函数进行指定删除就可以了。

举例如下:
h = get(handles.axes1, 'children'); % 获取坐标轴的children属性
delete(h(1)); % 删除上次绘制的子图形
参考技术A help movie
好像erase的参数是可以决定清除图象的模式
参考技术B 图形与坐标轴的删除 cla,clf 参考技术C movie系列函数有好多功能,我记得有一个可逐渐消图的函数,你可以设定消到一定程度停止并hold,具体资料可以上中国数模网搜本回答被提问者采纳

以上是关于matlab画图,能够在图中时时显示鼠标在图中的位置(不需要点击!!!!),请问高手们怎么实现啊的主要内容,如果未能解决你的问题,请参考以下文章

matlab仿真图中的背景色怎么改

Matlab画图时显示希腊字符

Matlab plot画图怎样在图中添加注释?

求公式!matlab画图,在图中画出几条线,不同颜色。带注释之类。

matlab画图时如何获取指定点的坐标值?

在 ggplotly 散点图中添加自定义数据标签