线图:使用矢量定义不同的lineWidth

时间:2016-05-12 17:54:31

标签: matlab matlab-figure

我尝试创建一个在一个变量L中包含多行的折线图。如果可以为每条线分配不同的线宽,那将会很棒。以下引发错误消息:

lWidth = {1;2;3;4;5;1;2;3;4;5;1;2;3}; %% 13 Elements, as <data> is 13x4 matrix

L = line([data(:,1) data(:,2)]', [data(:,3) data(:,4)]', ...
    'LineWidth', lWidth(:), 'Color', 'red');
  

使用行时出错在设置Line:Value的“LineWidth”属性时   不是数字标量

有没有办法使用向量lWidth中定义的lineWidth?

1 个答案:

答案 0 :(得分:2)

使用line命令参数不能这样做,但set函数有一个特殊的语法来处理:

data = randn(13,4);
lWidth = {1,2,3,4,5,1,2,3,4,5,1,2,3}; %% 13 Elements, as data is 13x4 matrix

L = line([data(:,1) data(:,2)]', [data(:,3) data(:,4)]', 'Color', 'red');
set(L, {'LineWidth'}, lWidth(:));

请注意,属性名称和属性值都必须是单元格数组,属性单元格数组的尺寸应与图形句柄数组的尺寸相同。