How do I use plot command in GUI?
1 view (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Geoff Hayes
on 27 Nov 2015
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?
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!