【问题标题】:How can I set the x-axis to date applying mutliplotyyy?如何将 x 轴设置为应用 mutliplotyyy 的日期?
【发布时间】:2019-06-26 08:25:36
【问题描述】:

我正在尝试将三个具有不同时间分辨率的时间序列绘制成一个应用multiplotyyy 的图表。不幸的是,我无法将 x 轴设置为 datetick。知道如何解决吗?谢谢!

所应用的方法是基于datetime matlab different temporal resolution 的一个带有两个轴的绘图,效果很好。

%time 5min interval for dataset1
xstart1 = datenum('01/04 10:00', 'dd/mm HH:MM');
xend1 = datenum('02/04 14:00', 'dd/mm HH:MM');
Dat1 = xstart1:1/24/12:xend1;


%time 10min interval for dataset2 and dataset3
xstart2 = datenum('01/04 13:00', 'dd/mm HH:MM'); 
xend2 = datenum('02/04 14:00', 'dd/mm HH:MM');
Dat2 = xstart2:1/24/6:xend2;

%time axis (different temporal resolution)
Dat = xstart1:1/12:xend1;

%data
dataset1 = rand(1,337).';
dataset2 = rand(1,151).';
dataset3 = rand(1,151).';

%plot
ylabels{1}='dataset1';
ylabels{2}='dataset2';
ylabels{3}='dataset3';
[ax,hlines]=multiplotyyy({Dat2, dataset2}, {Dat2, dataset3}, {Dat1, dataset1}, ylabels);
set(ax(1), 'XTick', Dat);
datetick('x', 'dd/mm HH:MM', 'keepticks', 'keeplimits');
legend(cat(1,hlines{:}),'dataset1','dataset2','dataset3','location','w')

【问题讨论】:

    标签: matlab datetime


    【解决方案1】:

    我想我找到了问题

    阅读datenum的文档:

    datenum 函数创建一个数值数组,将每个时间点表示为从 0000 年 1 月 0 日开始的天数。

    Dat 的值非常大。

    我假设您希望 XTick 标签采用日期格式,而不是自 BC 以来的秒数。

    使用datestrDat 转换为所需的格式,并将其转换为元胞数组。
    (行后Dat = xstart1:1/12:xend1;
    使用以下格式('hh/mm' 只是一个示例格式):

    DateStr = cellstr(datestr(Dat, 'hh/mm'));
    

    设置XTick后设置XTickLabel

    set(ax(1), 'XTick', Dat);
    set(ax(1), 'XTickLabel', DateStr);
    

    结果:

    【讨论】:

    • 感谢您的快速回复!根据您的建议,我现在确实有时间在 x 轴上。但是,我没有按照最初的目标每两个小时打一次,因此 Dat=xstart1:1/12:xend1; 行不再正常工作。为什么会这样?
    • 老实说我不知道​​。根据文档,它不应该工作。
    • 你确定不是每两个小时打勾吗?
    • 尝试同时设置set(ax(1), 'XTick', Dat);set(ax(1), 'XTickLabel', DateStr);
    • 您也可以尝试:set(ax(1), 'TickLength', [0.02,0.025]); 使滴答声更长。和set(ax(1), 'LineWidth', 2); 使它们更厚。
    猜你喜欢
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多