Axis exponent missing when using exportgraphics to export figure in pdf vector format (or image)
111 次查看(过去 30 天)
显示 更早的评论
Hi,
When I use exportgraphics to export a figure in pdf vector graphics format (or even image formats such as .png, .tiff), any axis exponents from the figure are missing in the output export file. For my application, I need to export the figure in vector format.
Example code to generate figure:
fig1 = figure(1);
plot(rand(10,1)*10^-5)
exportgraphics(fig1,'testMissingAxisExponent01.pdf','ContentType','vector');
Example figure exported by using 'Save As' in MATLAB figure GUI (which properly shows the axis exponent):
Example figure generated from exportgraphics (with the missing axis exponent):
I first discovered this issue when working with plots in nested tiles using tiledlayouts and tried increasing the padding with no success. However, this issue seems to be related to exportgraphics.
Any solutions or workarounds? Thank you!
2 个评论
Matt Latourette
2024-6-12
I was using the export button from the axes toolbar instead of calling exportgraphics programmatically, but I encounter the same problem with the exponent for the y-axis being cut off when I try to save a plot. I'm using MATLAB R2024a.
After I found this question on the MATLAB Answers web page, I took a look at the documentation for the exportgraphics command. The "Padding" option seemed promising as a potential solution, but when I tried that I got an error message stating, "Illegal option 'padding' given." What I tried, specifically, was to click on the plot axes to select my plot. Then, in the command window:
ax = gca;
exportgraphics(ax, "figurepadding.png", "Padding", "figure")
采纳的回答
Adam Danz
2024-6-3
编辑:Adam Danz
2024-6-14
This issue has been fixed in MATLAB R2024a Update 4.
=================================================
Thanks for reporting this issue. Follow progress on this bug by following the bug report below
The recommended work-around is to call the print function. For example, to export the current figure to a PNG file named myplot.png, use this command:
print("myplot.png","-dpng")
To copy the current figure to the clipboard as pixels, use this command:
print("-clipboard","-dbitmap")
7 个评论
更多回答(1 个)
Pablo Nicolas
2024-3-27
移动:Fangjun Jiang
2024-3-27
I encountered the same problem and I was looking for an answer or possible solution but unsucessfully. What I did that finally solved the issue was to install an older Matlab version (Matlab 2023a). Hopefully, this was helphul for you!
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Axis Labels 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!