Borrar filtros
Borrar filtros

Why I do not get the graphics as I want. It is not a code problem

1 visualización (últimos 30 días)
Hi, so my problem is that I do get the graphics in blank. I post the code and the data I am working with to help you understand the problem. Matlab do not tell me I have a problem with the code. I guess is the amount of information or the amount of graphics at the same time(30) but I do not know, I let you tell me. Here is the code :
k = length(DataRaval);
for k = 1:48:1439
nexttile
plot(datenum(DataRaval(k,1)),TempRaval(k,1));
datetick('x','HHPM')
xlabel('Horas'),ylabel('Temperatura en ºC')
title('Temperatura durant el dia 1 de març')
end
and the data used.
If you know the problem and know the solution too please share!

Respuesta aceptada

DGM
DGM el 1 de Dic. de 2021
You have to plot more than one data point.
load DataRaval2.mat
load TempRaval2.mat
for k = 1:48:numel(TempRaval)
nexttile
vend = min(k+48,numel(TempRaval));
plot(datenum(DataRaval(k:vend,1)),TempRaval(k:vend,1));
datetick('x','HHPM')
xlabel('Horas'),ylabel('Temperatura en ºC')
title('Temperatura durant el dia 1 de març')
end
  7 comentarios
DGM
DGM el 2 de Dic. de 2021
There's so little room in the plot box that I'd avoid trying to make an annotation out of it. If you use a supertitle, you can move the common information out of the subplot titles. You could then maybe do something like this.
for k = 1:48:numel(TempRaval)
nexttile
vend = min(k+48,numel(TempRaval));
plot(datenum(DataRaval(k:vend,1)),TempRaval(k:vend,1));
datetick('x','HHPM')
xlabel('Horas')
ylabel('Temperatura (ºC)') % this is a bit shorter
title(sprintf('Març %d: Media %.2fºC', ... % day and avg info
floor(k/48)+1,mean(TempRaval(k:vend,1),'omitnan')))
end
sgtitle('Temperatura dias de març') % overall title
You could also split the title across two lines
title(sprintf('Març %d: \nTemperatura Media %.2fºC', ...
floor(k/48)+1,mean(TempRaval(k:vend,1),'omitnan')))
That would give you more width for text, but it's going to make your plot boxes smaller.
If you really just want to use a text annotation, you could, but you're not going to have much room
for k = 1:48:numel(TempRaval)
nexttile
vend = min(k+48,numel(TempRaval));
plot(datenum(DataRaval(k:vend,1)),TempRaval(k:vend,1));
datetick('x','HHPM')
xlabel('Horas'),ylabel('Temperatura (ºC)')
title(sprintf('Març %d',floor(k/48)+1))
text(0.05,0.95,sprintf('%.2fºC',mean(TempRaval(k:vend,1),'omitnan')),...
'units','normalized','verticalalignment','top')
end
sgtitle('Temperatura dias de març')
flashpode
flashpode el 2 de Dic. de 2021
yeah that worked. Thank you so much!!!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Line Plots en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by