Why I do not get the graphics as I want. It is not a code problem
    2 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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!
0 件のコメント
採用された回答
  DGM
      
      
 2021 年 12 月 1 日
        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 件のコメント
  DGM
      
      
 2021 年 12 月 2 日
				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ç')
その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Title についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

