Effacer les filtres
Effacer les filtres

How can I plot 2 vectors of different length?

48 vues (au cours des 30 derniers jours)
Jonathan Bijman
Jonathan Bijman le 12 Juin 2019
Hello everyone
It could be the question sounds stupid, but I have 32 data (which correspond to averages of 9 measurements) and I want to plot along aprox 50 days
(Because there weren´t measurements some days)
Anyone has an idea of how can I do that? I was thinking by scatter, but appears the same error (different lenghts)
Thank u

Réponse acceptée

Star Strider
Star Strider le 12 Juin 2019
Without knowing any constraints you may have, try this:
data = rand(1, 32); % Create Data Vector
x = linspace(0, 50, numel(data)); % Create Independent Variable Vector
figure
plot(x, data)
If your data were calculated with respect to specific days, use a vector of those days as ‘x’. So long as there are exactly 32 of them, you can easily plot them.
  5 commentaires
Star Strider
Star Strider le 12 Juin 2019
Our pleasures!
Michael Mauersberger
Michael Mauersberger le 29 Avr 2020

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 12 Juin 2019
You know which days had valid measurements. Pass the time coordinate corresponding to those days as the "x" coordinate to plot, if you want a line plot that draws between the missing data.
stem() plot might make sense in some cases.
It is possible to draw in segments. For that purpose, pass in nan as the y coordinates for the missing measurements, and be sure to include a marker type. You want the marker because you might have patterns such as NaN Point NaN and plot() will only draw a line when there are at least two finite points in a row.
  1 commentaire
Jonathan Bijman
Jonathan Bijman le 12 Juin 2019
For "y" variable I have this:
Clean=table2cell(datatable);
nrow = height(datatable);
lastidx = floor(nrow/9) * 9;
Voc_p = mean(reshape(datatable{1:lastidx,7}, 9, []));
Voc_promedio=Voc_p.';
it results 32 data
For "x" variable I create a table with all the dates and load the mat file:
load('fechas.mat');
c=table2array(fechas);
When I try to plot with stem:
x=c
y=Voc_promedio
stem(x,y)
Appears this error:
Error using stem (line 43)
X must be same length as Y.
Error in Prueba_1 (line 34)
stem(x,y)

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by