【问题标题】:Constant Figure Axis Range on GUI in MatlabMatlab中GUI上的恒定图形轴范围
【发布时间】:2018-11-30 19:32:03
【问题描述】:

我的 Matlab 绘图 (GUI) 中有一个工作滑块,它回调同一矩阵 (Tlast) 的不同列,代码如下:

n=length(Tlast(:,1)); h=1:n; h=(1.05/n)*h';

slmin=1; slmax=size(Tlast,2);

plot(h,Tlast(:,1)); 

hsl = uicontrol('Style','slider','Min',slmin,'Max',slmax,...
'SliderStep',[1 1]./(slmax-slmin),'Value',1,...
'Position',[5 5 200 20]);

set(hsl,'Callback',@(hObject,eventdata) 
plot(h,Tlast(:,round(get(hObject,'Value')))) )

问题是每次调用滑动移动都会改变 x 和 y 轴的限制。你们中有人能告诉我如何在每个条件下修复轴限制(从滑块回调) - 即 y 轴常数为 40 到 90?

提前致谢。问候。

【问题讨论】:

  • 看看这两篇文章:1,2。第二个,具体看不同的例子。

标签: matlab user-interface plot


【解决方案1】:

您可以将当前轴的范围设置为下

xlim([xmin xmax])
ylim([ymin ymax])

你也可以使用轴功能

axis([xmin xmax ymin ymax])

【讨论】:

  • 我尝试使用轴功能,但每当我移动滑块时;我的轴再次改变新的数据范围。我添加了 hold on:这解决了我的问题(轴保持不变)但是这次我的所有绘图(通过滑块的每次更改)都停留在绘图区域。
  • 您可以在plot 函数之后使用xlim 和ylim 来限制您当前的轴。您必须在滑块事件处理程序中调用这些
【解决方案2】:

以下内容使您可以更灵活地控制轴:

xlim([xmin xmax]);
ylim([ymin ymax]);
set(gca, 'XTick', [xmin:xmax]);
set(gca, 'YTick', [ymin:ymax]);
set(gca,'fontweight','demi','fontsize',giveafontsize)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多