【问题标题】:adding dates to the line chart in matlab在matlab中将日期添加到折线图
【发布时间】:2018-02-12 00:12:28
【问题描述】:

假设我们有以下日期

Year    Number
2003    632
2004    559
2005    567
2006    540
2007    628
2008    517

我想绘制为折线图,为此我使用了 plot 命令,但关于日期我知道存在两个函数 datenum 和 datetick,对于最后一个我知道有这样的格式'

datetick(‘x’, ‘dd mmm yy’, ‘keeplimits’, ‘keepticks’) 

请告诉我如何使用这两个命令将年份添加到 x 轴?我试过以下命令

>> plot(datenum(Year),number)
>> datetick('x','yyyy','keeplimits','keepticks');

但 x 轴的日期格式不正确。提前致谢

【问题讨论】:

  • 谢谢您,先生,当我输入以下命令 pie(pound,snack) 时出现一个问题,其中磅是数字,零食是分类名称,饼图上的结果没有百分比,我该如何解决这个问题?

标签: matlab


【解决方案1】:

您只有年份编号(不是月份和日期),所以只需 plot 为:

plot(Year, Number); 
set(gca,'XTick',Year);  %if necessary

【讨论】:

    【解决方案2】:

    由于您只有几年,我能看到的用于获取正确日期的最佳datenum 重载如下:

    DateNumber = datenum(Y,M,D) 返回序列日期编号 Y、M 和 D(年、月、日)数组的对应元素。 数组必须具有相同的大小(或者任何可以是标量)。你也 可以将输入参数指定为日期向量 [Y,M,D]。

    您可以将其传递给月份和日期的虚拟值(例如1),因为您想要显示的只是年份:

    C = {
      2003    632
      2004    559
      2005    567
      2006    540
      2007    628
      2008    517
    };
    
    T = cell2table(C,'VariableNames',{'Year' 'Number'});
    
    plot(datenum(T.Year,1,1),T.Number);
    datetick('x','yyyy','keeplimits','keepticks');
    

    或者,您可以只使用年份值来定义 x 轴刻度,如下所示:

    C = {
      2003    632
      2004    559
      2005    567
      2006    540
      2007    628
      2008    517
    };
    
    T = cell2table(C,'VariableNames',{'Year' 'Number'});
    
    plot(T.Year,T.Number);
    set(gca,'XTick',T.Year);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 2020-07-22
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      相关资源
      最近更新 更多