Matlab图形用户界面

Matlab图形用户界面,matlab,matlab-figure,matlab-guide,Matlab,Matlab Figure,Matlab Guide,我正在尝试编写一个MatlabGUI代码,它将从CSV文件加载数据并绘制图形。每次,我都会通过单击load data按钮来加载数据,绘图应该会刷新并绘制新数据。我能够加载数据并绘制第一个图形。但是,如果我第二次单击“加载数据”按钮,它会从不同的CSV文件加载数据,但它会在第一个图形的顶部绘制。我不知道如何在每次加载数据并将其保存在新的gui文件中时刷新该图形。 请帮帮我。这是我第一次使用Gui界面。我在下面发布我的加载数据回调函数。和Gui界面作为.jpg附件。多谢各位 function

我正在尝试编写一个MatlabGUI代码,它将从CSV文件加载数据并绘制图形。每次,我都会通过单击load data按钮来加载数据,绘图应该会刷新并绘制新数据。我能够加载数据并绘制第一个图形。但是,如果我第二次单击“加载数据”按钮,它会从不同的CSV文件加载数据,但它会在第一个图形的顶部绘制。我不知道如何在每次加载数据并将其保存在新的gui文件中时刷新该图形。 请帮帮我。这是我第一次使用Gui界面。我在下面发布我的加载数据回调函数。和Gui界面作为.jpg附件。多谢各位

    function shiva_Callback(hObject, eventdata, handles)
        hold off
    % load data
       %plot     
        yyaxis left
        loglog(t,a,'b')
        hold on
        loglog(t,t,'r')
        loglog(t,d,'c') 
        loglog(t,,'m')
        ylabel('% Text')
        xlabel('T')
        yyaxis right
        loglog(t,s,'y')
        loglog(t,st,'g')

        function ma_Callback(hObject, eventdata, handles)
% i tried uisave but not possible to run computer without matlab cause mcr
% does not run uisave
% i tried copyopbj but since i did not put a name on my figure it did not
% work
这意味着放置在
轴上的所有新绘图将添加到现有绘图中,而不是替换它们。您可以做的最简单的更改是在加载新数据后但在开始打印之前(即在回调的顶部)调用
hold off

这意味着放置在
轴上的所有新绘图将添加到现有绘图中,而不是替换它们。您可以做的最简单的更改是在加载新数据后但在开始打印之前(即在回调的顶部)调用
hold off


@ParthaDey你试过我贴的东西吗?我想你还没有t@ParthaDey你一定没有正确地实现它。你应该仔细检查我的例子。@ParthaDey Geez,请不要将其粘贴到评论中……编辑你的原始帖子。我已经弄明白了。它令人耳目一新。谢谢你的帮助。@ParthaDey最后是什么解决的?如果这个答案有帮助,请考虑把它标记为solution@ParthaDey你试过我贴的东西了吗?我想你还没有t@ParthaDey你一定没有正确地实现它。你应该仔细检查我的例子。@ParthaDey Geez,请不要将其粘贴到评论中……编辑你的原始帖子。我已经弄明白了。它令人耳目一新。谢谢你的帮助。@ParthaDey最后是什么解决的?如果这个答案有帮助,请考虑将其标记为解决方案。
function shiva_Callback(hObject, eventdata, handles)
    % Ensure that our new plots overwrite existing plots
    yyaxis left
    hold off

    yyaxis right
    hold off

    handles.filename = uigetfile('*.xls');

    % Load data in

    % Now plot the new plots
    yyaxis left
    loglog(p, r, 'b');

    % Enable adding plots again
    hold on

    loglog(p, t, 'r');

    % Plot the rest of your stuff

    yyaxis right
    loglog(p, a, 'y')
    hold on
    loglog(p, h, 'g')
    ylabel('State and Status');
    grid on