Problem while plotting twice in a figure
8 views (last 30 days)
Show older comments
I have 2 imported columns from excel (time and value), that contain more than 10000 rows, I plotted them and also the average of the whole values.
Now I want to plot both the time on the x axis and the values on the y axis with the average line (see second code) in one figure, I get the following error:
Values plotted against x-axis must be categorical values. To create categorical values, use the categorical function.
when I convert the value to a categorical one, it says: " Invalid data type. First argument must be numeric or logical."
Can Anyone tell me where the problem can be?
%the first correct code:
nexttile
plot(time,value)
nexttile
plot([0 size(value,1)],[avg avg], 'y-', 'LineWidth',2);
%The second one where I get the error:
nexttile
hold on
plot(time,value)
plot( [0 size(value,1)],[avg avg], 'y-', 'LineWidth',2);
hold off
2 Comments
Accepted Answer
Shae Morgan
on 13 Aug 2020
Try this out: Since I didn't have your variable class, I had to assume you're dealing with time-stamps here. This works for those:
t1 = datetime(2020,8,12,13,11,24); %start time
t2 = datetime(2020,8,12,13,18,36); %end time
time5 = t1:seconds:t2; %create a vector of time points from the start time to the end time
v5 = randn(size(time5)); %create random y-axis data
plot(time5,v5) %plot data
hold on; %hold the current figure so the first plot doesn't erase when you do the 2nd plot
avg5 = mean(v5); %the average value of v5
x2= [time5(1) time5(end)]; %x-values for the average line
plot(x2,[avg5 avg5], 'y-', 'LineWidth',2); %plot the avg line
title('value 5 by time plot') %title the plot
legend('Raw data','Average line') %add a legend to differentiate the two data sources
ax = gca; %get current axis
x_step_size=100; %step size between labels in seconds
ax.XAxis.TickValues = t1:seconds(x_step_size):t2; %adjust the tick values to the correct spacing
2 Comments
More Answers (0)
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!