通过struct完成时传递DurationTickFormat参数失败

时间:2015-07-30 21:34:18

标签: matlab

在Matlab中我想通过使用结构将参数传递给plot函数。这很顺利,直到我想要包含DurationTickFormat参数。 在下面的最小示例中,我在尝试绘制第二个数字时收到以下错误消息:

  

使用持续时间/绘图时出错没有启用DurationTickFormat属性   Line类。

clear;
t_dur = days(0);
t_dur(2) = 2;
t_duration = linspace(t_dur(1),t_dur(2),11);

figure;
plot(t_duration,0:10,'Color','k','LineWidth',2,'DurationTickFormat','hh:mm:ss');

% using a struct to pass arguments to the plot function
plotOptions.LineWidth = 2;
plotOptions.DurationTickFormat = 'hh:mm:ss';
figure;
plot(t_duration,0:10,'Color','k',plotOptions);

在这种情况下,使用结构传递参数的任何想法都不起作用?

感谢。

1 个答案:

答案 0 :(得分:1)

我对R2015a并不熟悉,但我猜得很好。我认为当你传递一个结构时,你明确地在旧的matlab中添加了行属性(lineseries properties,我想最新的是HG1,chartline properties,我猜是用HG2)。 chartline properties执行包括'DurationTickFormat'。因此,当您直接调用它时,实际上是在告诉plot函数执行某些操作(比如相应地更改xlabel,这对于行对象来说显然是不可见的。)

我希望熟悉R2015a的人可以验证或反驳我的假设。

更新:来自plot options> DurationTickFormat

  

DurationTickFormat不是图表行属性。创建绘图时,必须使用名称 - 值对参数设置刻度线格式。