2016-05-12 4 views
0

Ich versuche, ein Liniendiagramm zu erstellen, das mehrere Zeilen in einer Variablen L enthält. Es wäre großartig, wenn für jede Zeile eine andere Zeilenbreite zugewiesen werden könnte. Die folgende wirft eine Fehlermeldung:Liniendiagramm: Mit einem Vektor verschiedene Linienbreiten definieren

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'); 

Fehlerzeile Während die ‚Linewidth‘ Eigenschaft Linieneinstellung: Wert nicht einen numerischen skalaren

Gibt es einen Weg, um die Linienbreite zu verwenden, definiert im Vektor lWidth?

Antwort

2

Sie können nicht tun, dass line Befehl Argumente verwenden, aber set Funktion eine spezielle Syntax, damit umzugehen hat:

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(:)); 

Beachten Sie, dass beide Eigenschaftsnamen und Eigenschaftswerte haben Zellenanordnungen sein, und die Abmessungen der Eigenschaft Das Zellenarray sollte mit dem des Grafik-Handle-Arrays übereinstimmen.

+0

Danke. Ich habe versucht 'set (L, 'LineWidth', lWidth (:));' das war eigentlich ziemlich nah. – stm

Verwandte Themen