MATLAB Answers

vector of line chart objects returned by plot - problem with modifying markers,...

1 view (last 30 days)
Simon Wiesheier
Simon Wiesheier on 22 Jul 2021
Answered: darova on 25 Jul 2021
Dear all,
Here is a snippet of my code:
plot_array = zeros(5,1);
x=0:0.1:1000;
y=x.^3
for p=1:1:5
plot_array(p) = loglog(x,y, /*arbitrary markers and legend which I would like to modify after the loop);
hold on;
end
legend_array(2,1).Marker = '+';
The last line produces the error message: "Unable to perform assignment because dot indexing is not supported for variables of this type".
I tried to reproduce the example from the loglog documention. The only difference to my code is that (i) I have an array, -> legend_array(2,1), and (ii) I plot only one pair of vectors, that is why I omitted something like (legend_array(2,1))(1).Marker = '+' .
Thanks for helping me!
  1 Comment
Simon Wiesheier
Simon Wiesheier on 22 Jul 2021
I resolved my issue by initializing plot_array as
plot_array = matlab.graphics.chart.primitive.Line.empty(5,0);
Is there may a more elegant way to store line objects?

Sign in to comment.

Answers (1)

darova
darova on 25 Jul 2021
Try this
x = 0:10;
y = sin(x);
h(1) = plot(x,y,'r');
h(2) = line(x,y+.5);
set(h(2),'marker','.')

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!