Problem using print('-dpng', '-r300', 'file.png') to write plot to disk in PNG format
조회 수: 19 (최근 30일)
이전 댓글 표시
Here's the chunk of code:
FigHandle = figure('Position', [100, 100, 1920, 700]);
subplot(121);
imagesc(X, Z, final_model_it_xz);
hold on;
set(line([17,33,33,17,17]*200 - 200, [12,12,13.5,13.5,12]*200 - 200), 'linewidth', 2, 'color', 'w');
hold off;
grid on;
set(gca, 'linewidth', 1, 'fontsize', 12);
h = colorbar();
set(get(h, 'title'), 'string', 'S$\cdot$ m$^{-1}$', 'fontsize', 12, 'interpreter', 'latex');
xlabel('Inline [m]', 'fontsize', 14, 'interpreter', 'latex');
ylabel('Depth [m]', 'fontsize', 14, 'interpreter', 'latex');
title_str = sprintf(['$\\mathbf{m}_{%d}$ at %g m without regularization',...
' with $\\min(\\mathbf{m}_{%d}) = %g$'], it, Y(iy), it, min_conductivity_it);
title(title_str, 'fontsize', 14, 'interpreter', 'latex');
print('-dpng', '-r300', [plot_folder,'modelYZ']);
subplot(122);
imagesc(Y, Z, final_model_it_yz);
hold on;
set(line([17,33,33,17,17]*200 - 200, [12,12,13.5,13.5,12]*200 - 200), 'linewidth', 2, 'color', 'w');
hold off;
grid on;
set(gca, 'linewidth', 1, 'fontsize', 12);
h = colorbar();
set(get(h, 'title'), 'string', 'S$\cdot$ m$^{-1}$', 'fontsize', 12, 'interpreter', 'latex');
xlabel('Crossline [m]', 'fontsize', 14, 'interpreter', 'latex');
ylabel('Depth [m]', 'fontsize', 14, 'interpreter', 'latex');
title_str = sprintf(['$\\mathbf{m}_{%d}$ at %g m without regularization',...
' with $\\min(\\mathbf{m}_{%d}) = %g$'], it, X(ix), it, min_conductivity_it);
title(title_str, 'fontsize', 14, 'interpreter', 'latex');
print('-dpng', '-r300', [plot_folder,'modelXZ']);
Here's what I see in the graphics windows:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/168306/image.png)
Here's what ends up stored in my computer:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/168307/image.png)
I am using:
>> version
ans =
8.5.0.197613 (R2015a)
Any hints?
Also, when I use the Save as... dialog from the figure viewer:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/168309/image.png)
I get a perfect result:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/168310/image.png)
댓글 수: 7
Looky
2017년 10월 16일
Have you tried change the PaperPosition via FigHandle.paperPosition=[ ]; Within the brackets you specify the position and size just like you do in your first line. However the units are in inch!
채택된 답변
Eduardo Sanchez
2017년 10월 16일
댓글 수: 1
Looky
2017년 10월 16일
Great. Just a little note. Like I said, PaperPosition is in inch (not in Pixel). That's why you got this nasty segmentation fault.
Have a good one
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!