Plotting very slow and took long time to launch plot tool

9 visualizaciones (últimos 30 días)
Melissa Chen
Melissa Chen el 20 de Jun. de 2018
Respondida: Greg el 21 de Jun. de 2018
I am plotting 50 graphs in the same plot with these few lines. The data are already in the workspace.
figure; hold on
for n = 1:50
plot(x, y,'LineWidth',2.0);
hold on
end
The figure window shows up within 5 seconds, but it takes MATLAB 3 minutes to populate the graph window with the graphs. Additionally, when I try to use the plot tools to modify the figure, each icon I click or each action I did takes ~ 10 seconds to act, including some simple action like moving the legend position or click to select a specific graph. My computer practically froze while waiting.
I have a pretty fast computer - an i7 8th generation with 16 GB RAM. I am running on MATLAB R2017b. Running other high memory usage program doesn't have this issue. I have never had this problem with R2017b on another supposedly slower computer - i3 with 32 GB RAM.
I am more of trying to trouble-shoot if this is the problem of the computer or with MATLAB. If anyone had similar problem with R2017b hopefully the answer I got would be helpful. Thanks MATLAB community!
  4 comentarios
Greg
Greg el 21 de Jun. de 2018
Also, you've already called hold on before the loop, doing it again inside is silly.
Melissa Chen
Melissa Chen el 21 de Jun. de 2018
Thanks Greg. my x is a [1x1801] and my y is a [50 x 1801]. I did thought 50 maybe too much so I went back and try to plot 10 instead. The amount of time it takes to show up is similar to plot with 50 which is something I never seen before with my old computer. But you made a good point of the CPU activity and maybe there's something that's feeding off CPU when I am plotting with matlab.

Iniciar sesión para comentar.

Respuestas (1)

Greg
Greg el 21 de Jun. de 2018
Given information from your comments that y is 50x1801, the command
plot(x,y,'LineWidth',2);
Will already plot all 50 rows of y against x. Doing it inside a loop gives you 50*50 = 2500 lines in your figure.
Replace all of your code with the one line above.

Categorías

Más información sobre Graphics Objects en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by