how to build array using matlab.graphics.chart.primitive.Line' property
6 次查看(过去 30 天)
显示 更早的评论
Look this example:
selected = findobj(allLines,'Type','line','LineWidth',0.5);
[cc]=selected;
selected 13x1
xx selected 13x1
this is ok
now i try to use selected property:
selected.Color
it give me 13x1 color!
now i try to record information in array but it's not possible
[cc]=selected.Color
now i see cc have only the first element!
can i do it?
0 个评论
采纳的回答
Cris LaPierre
2025-6-7
编辑:Cris LaPierre
2025-6-7
If I understand correctly, you want cc to just be the color of the selected lines. In that case, note that selected.Color does not return a 13x1 array, It returns 13 1x3 arrays. Try the following instead.
z = rand(10,13);
plot(z)
selected = findobj(gcf,'Type','line','LineWidth',0.5);
cc=selected
cc=vertcat(selected.Color)
You can find a longer explanation of what is happening here: https://www.mathworks.com/matlabcentral/answers/29190-property-access-of-objects-arrays
5 个评论
Walter Roberson
2025-6-8
z = rand(10,13);
plot(z)
selected = findobj(gcf,'Type','line','LineWidth',0.5);
set(selected, {'Color'}, cellfun(@(C) {[C,0.5]}, {selected.Color}.'))
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Standard File Formats 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

