Plotting very slow and took long time to launch plot tool

조회 수: 11 (최근 30일)
Melissa Chen
Melissa Chen 2018년 6월 20일
답변: Greg 2018년 6월 21일
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
Greg
Greg 2018년 6월 21일
Also, you've already called hold on before the loop, doing it again inside is silly.
Melissa Chen
Melissa Chen 2018년 6월 21일
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.

댓글을 달려면 로그인하십시오.

답변 (1개)

Greg
Greg 2018년 6월 21일
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.

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by