MATLAB Answers

How do I specify an axes when plotting timeseries data?

2 views (last 30 days)
I cannot use the plot function on timeseries data with an axis handle as the first input. I use timeseries data a lot and use the plot command with it. However, I cannot plot a timeseries directly to a particular axis unless I manually specify the time and data vector. See below code:
>> x = timeseries([10;15;18;28],[0; 1; 2; 3])
>> figure
>> h1 = gca
>> plot(h1,x) % does not work
>> plot(h1,x.Time,x.Data) % this does work. This is not ideal

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 7 Apr 2020
The "plot" function invokes different methods of plotting depending on the input data provided. Since this is timeseries data, the syntax for plotting the timeseries to a particular axis in this example would look like the following:
>> plot(x, 'Parent', h1)
This is because the timeseries plotting function uses the syntax:
where "specs" refers to the Line Specifications as a 'Name', 'Value' pair. This is not entirely obvious since the "plot" documentation specifies axes as the first input. More information on this syntax may be found at the documentation link below:


Sign in to comment.

More Answers (0)

Sign in to answer this question.




Translated by