MATLAB: How to use plot command in GUI

MATLABmatlab gui plotsimulink

I have a small problem which kept me busy for two days already. In my project I want to display a signal from Simulink in realtime in a Matlab GUI using event listeners. Therefore, I created a GUI using GUIDE with one axes on it. To update the graph, I created a function, which receives the data from Simulink. So far, everything works fine. When I try to use plot(), the graph just doesn't show up. If I use stem() insted, it works. If I open a figure outside the GUI, plot() is working. Somehow, the GUI doesn't like the plot(). Anybody has an idea how to solve this?
%Data from Simulink to plot
sim_data1 = data1.InputPort(1).Data;
sim_data2 = data2.InputPort(1).Data;
%scroll the graph to show only recent data
n=50;
if sim_time <n
xlim([0, 1500]);
else
xlim([sim_time-50 sim_time+1450]);
end
%plot the graph
plot(sim_time,sim_data1); %<- not worikng
stem(sim_time,sim_data1); %<- working
hold on;
Thank you very much for your help!
Thomas

Best Answer

Thomas - since you are plotting individual points, try changing the line width to make the point appear larger
plot(sim_time,sim_data1,'LineWidth',5)
or plot a shape at the point (much like the stem call does)
plot(sim_time,sim_data1,'o')
Do either of the above increase the visibility of the data points?