Use Plot as function
3 views (last 30 days)
Show older comments
Hey People,
im trying to implement a multiple live plot function for my data. Instead of long description, here some code for understanding:
Main:
while plotting == true
for i=0:0.05:10
x = sin(i);
Input.Value(1,1) = i;
Input.Value(1,2) = x;
y = cos(i);
Input.Value(2,1) = i;
Input.Value(2,2) = y;
plotting = Liveplot(Input);
end
end
and the Liveplot function:
function [Running] = Liveplot(Input)
for i=1:size(Input.Value,1)
figure(i);
hold on;
plot(Input.Value(i,1),Input.Value(i,2));
drawnow;
hold off;
end
end
(sure some code between is missing, hope you understand my thinking)
I want a line between my parameters - a graph, interpolation, ... and not only points at the plot (see image below)
If i dont tell my plot to make '+', i dont see any points at the plot.
How can i see my graph of the datapoints (the line between)?
(at picture both functions in one plot...)

0 Comments
Answers (2)
madhan ravi
on 8 Jan 2019
2 Comments
madhan ravi
on 11 Jan 2019
See https://www.mathworks.com/matlabcentral/answers/439232-a-loop-problem-in-matlab#answer_355911 and the link in the answer there are lot of examples.
Sayyed Ahmad Fani Yazdi
on 14 Jan 2019
Edited: Sayyed Ahmad Fani Yazdi
on 14 Jan 2019
if you change your code to the following code
clear all
close all
clc
count=1
In.Value(1,1) = 0;
In.Value(2,1) = 0;
for i=0:2*pi/100:2*pi
x = sin(i);
y = cos(i);
In1.Value(1,count) = i;
In1.Value(2,count) = x;
In2.Value(1,count) = i;
In2.Value(2,count) = y;
count=count+1
end
Liveplot(In1)
hold on
Liveplot(In2)
and overload your plot function like this.
function Liveplot(In)
plot(In.Value(1,:),In.Value(2,:),'b-')
end
2 Comments
Sayyed Ahmad Fani Yazdi
on 15 Jan 2019
change in your liveplot function
plot(Input.Value(i-1:1,1),Input.Value(i-1:i,2),'-b');
so your code create a line and not a point.
See Also
Categories
Find more on Graphics Performance in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!