Scale changes on plots when saving the figure
40 次查看(过去 30 天)
显示 更早的评论
MATLAB Version: 8.2.0.701 (R2013b)
I create a figure with 4 subplots. When I save the figure using the Figure Menu: File-Save, everything looks fine. If I use the saveas or the print functions, the Y axes change and the representation of the data is incorrect.
Menu Save (Correct):
saveas or print (Incorrect):
%%Save the Figure
jpg_path = '\\usdrdsech1na002\projects$\PUBLIC\PureWaveLinear\Build Info\AcousticMicroscope\TOF_Scans';
set(hc,'PaperOrientation','portrait');
tmp = strfind(tmpname,' ');
tmpname(tmp) = '_'; clear tmp
saveas(hc, fullfile(jpg_path, [tmpname '.jpg']));
%print(hc, '-djpeg', fullfile(jpg_path, [tmpname '.jpg']));
2 个评论
Steven Hunsinger
2023-9-11
I have the same issue, but the solution above doesn't fix it.
set(gcf, 'InvertHardcopy', 'off');
saveas(gcf, plotfile);
I've tried "exportgraphics" and some of the other solutions but I still get the wrong scale lables on the X axis on all plots on the right side of my tiled plots. Top is the Figure in MATLAB, bottom is the .png. One of the changes I tried:
set(gca,'XTick',Expected(s+1:e,2));
added an extra data point at the end causing 1 to 100 to compress. The plot and the .png matched! But it was still wrong...
>> Expected(s+1:e,2)
ans =
0.0010
0.0100
0.1000
1.0000
9.9999
24.6680
99.9990
Steven Hunsinger
2023-9-11
update:
f=figure('Position', [500, 200, 1050, 750],'Color','white');
plotdata=tiledlayout(3,2,'TileSpacing','tight', 'Padding','tight'); %hold on;
TileSpacing influence the outcome. With 'loose' we lose resolution on the axis ticks.
Changed figure code (larger scale) and it works:
f=figure('Position', [500, 200, 1120, 800],'Color','white');
采纳的回答
Namita Vishnubhotla
2014-7-31
The following code resolves the figure resizing issue:
>> set(fig, 'PaperPositionMode', 'auto');
where 'fig' is your figure handle. You can also just pass 'gcf'.
The 'PaperPositionMode' property (as published in documentation) "ensures that the printed version is the same size as the onscreen version. With 'PaperPositionMode' set to 'auto' MATLAB does not resize the figure to fit the current value of the 'PaperPosition'."
Refer to the various properties listed in the figure properties and axes properties documentation for additional saving and printing settings that may affect the look of your figure when exporting to printer or file.
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Printing and Saving 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!