A figure created within a for loop is not plotted (only the last one is shown)
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Alberto Acri
am 5 Dez. 2022
Kommentiert: Alberto Acri
am 5 Dez. 2022
Hello! I have the code attached.
A figure created within a for loop (fig_2.png) is not plotted (only the last one figure is shown -> fig_5.png).
I would like to get the figure on the left (see bottom) but I actually get the figure on the right, that is, it is missing the plotting of a curve (fig_2.png).
3 Kommentare
Mathieu NOE
am 5 Dez. 2022
you can avoid the 10 files attachment limit by zipping all files , then you have again room for attaching 'CoordinateMatrix' data
Akzeptierte Antwort
Mathieu NOE
am 5 Dez. 2022
hello again
so there was some figure calls still present in some functions (fun1, fun2 ,...)
I cleaned that so you have only the 3D plot
check the updates in the zip attached
I created a function "codeMN.m" that I used for this correction, but you should use "code.m" on your side
hope it helps
7 Kommentare
Mathieu NOE
am 5 Dez. 2022
Bearbeitet: Mathieu NOE
am 5 Dez. 2022
in this case what is the array CoordinateMatrix ?
I assume it's empty so you have to make a test if CoordinateMatrix is empty or not
so your main loop in code.m should include this test :
for k = 1:length(imageFiles)
baseFileName = imageFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = imread(fullFileName);
imageArray1 = im2uint8(imageArray);
drawnow;
CoordinateMatrix = pic2points(imageArray1);
if ~isempty(CoordinateMatrix) % HERE
%======================================================
% check this part
X = CoordinateMatrix;
matrix_points = function_main(X);
%=======================================================
% Switch to the figure for the 3-D plotting:
figure(hFig3);
current_z = z(k) * ones(size(matrix_points, 1), 1);
plot3(matrix_points(:, 1), matrix_points(:, 2), current_z, 'k.');
hold on
%drawnow;
end
end
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Line Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!