在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);
在这种情况下,使用结构传递参数的任何想法都不起作用?
感谢。
答案 0 :(得分:1)
我对R2015a并不熟悉,但我猜得很好。我认为当你传递一个结构时,你明确地在旧的matlab中添加了行属性(lineseries properties
,我想最新的是HG1,chartline properties
,我猜是用HG2)。 chartline properties执行不包括'DurationTickFormat'
。因此,当您直接调用它时,实际上是在告诉plot
函数执行某些操作(比如相应地更改xlabel
,这对于行对象来说显然是不可见的。)
我希望熟悉R2015a的人可以验证或反驳我的假设。
更新:来自plot options> DurationTickFormat
:
DurationTickFormat不是图表行属性。创建绘图时,必须使用名称 - 值对参数设置刻度线格式。