今天在用MATLAB做我的毕设的时候碰到一个很纠结的问题,之所以说纠结是因为我觉得这个问题很简单,可是一时半会就是弄不出来(ー`´ー)。鼓捣了半个小时左右吧,终于搞出来了。下面做个纪念:
问题描述
在做一个GUI的时候,需要在一个坐标系内画图,想要在图上添加一条直线,直线长度由坐标轴长度自动确定,dont know what to do.
问题解决
前面那些n次失败的尝试我就不说了,太急人了,总之一句话:就是被种种逻辑关系搞晕了……
正文开始,下面是代码片段,
xl = get(handles.PlotArea, \'xlim\')
yl = get(handles.PlotArea, \'ylim\')
xl(1) = floor(xl(1))
xl(2) = floor(xl(2))
yl(1) = floor(yl(1))
yl(2) = floor(yl(2))
plot(handles.PlotArea, xl(1):xl(2), zeros(xl(2)-xl(1)+1),\'LineWidth\', 5, \'color\', \'k\');
其中关于y的部分是我为我的毕设后续部分准备的,在这一部分可以忽略,这里注意一定要用floor函数取整。
下面是我的结果,黑色线即为所画直线:
如果大家有什么问题可以留言,或者给我邮件([email protected]),有时间我会尽力而为。