MATLAB中comet3(x,y,z)三维绘图那个动态显示的白圈能改颜色和大小吗

如题所述

可以改,但这个函数没有提供从外部修改的手段,只能是直接修改函数本身。

 

一般来说,应尽量避免直接修改系统自带的函数,所以,建议把函数的内容复制一份,修改后改名字另存到用户目录中。

 

要修改的语句如下(不同版本可能有差别,这里给出R2008a和R2015b两个版本,供参考):

  head = line('parent',ax,'color',co(1,:),'marker','o','erase','xor', ...
              'xdata',x(1),'ydata',y(1),'zdata',z(1));

或(R2015b)

head = line('parent',ax,'color',colors(1,:),'marker','o', ...
    'xdata',x(1),'ydata',y(1),'zdata',z(1),'tag','head');

如果要修改圆圈的颜色,修改语句中的【co(1,:)】或【colors(1,:)】为希望的颜色即可(8个颜色常量或者RGB分量,具体可参考doc colorspec)。

 

如果要修改圆圈里面的填充色,在语句最后面括号的里面加【, 'MarkerFaceColor', c】,其中c为希望的颜色。

 

要想修改圆圈的大小,在语句最后面括号的里面加【, 'MarkerSize', s】,其中s为希望的大小(默认为6,自己斟酌改成多大吧)。

 

注意!再次提醒,改完后最好另存文件,尽量不要动系统的自带文件!

追问

vx = 40;
t = 0:0.001:10;
x = vx*t;
y = -9.8*t.^2/2;
comet(x,y)
这是一个简单地二维的,您改一下我学习下 谢谢您

追答

说的这么清楚了还要让我帮你改,真晕。。。

 

作为示例,把圆圈改为绿色,里面填充色改为黄色,大小改成20。

改后的版本另存为comet2.m,参见附件。调用也应该用comet2(x,y)才行。

追问

非常感谢您帮我解答,谢谢。我的是matlab2009a,运行失败

追答

晕。。。你完全没用过MATLAB吧?怎么会犯这种把函数代码直接贴到命令窗口中去运行的低级错误。。。

给你的文件直接下载保存到MATLAB的当前文件夹,然后运行你自己刚才贴的代码(除了把comet改成comet2)。

温馨提示:答案为网友推荐,仅供参考