Matlab 2025a export figure as vector changes font

43 vues (au cours des 30 derniers jours)
Thomas Best
Thomas Best le 4 Sep 2025 à 14:12
Modifié(e) : Kevin Holly le 8 Sep 2025 à 17:20
I have a figure configured the way that I want that I'm trying to export as an SVG. The new export window in 2025a lets me specify SVG and vector graphics, but when I do it changes my fonts from times new roman to something else (Arial I think?). I cannot find a way to make it preserve the font settings. Is there a solution I'm missing? In the meantime I'll have to go back to 2024b.

Réponse acceptée

Kevin Holly
Kevin Holly le 4 Sep 2025 à 20:58
Modifié(e) : Kevin Holly le 4 Sep 2025 à 21:02
Thomas,
I tested the exportgraphics on the following figure and it exported correctly for me. Are you on R2025a Update 1?
fig = figure; ax = axes(fig);title(ax,"Times New Romans Font");ax.FontName = 'Times New Roman';
exportgraphics(fig, 'myfigure.svg', 'ContentType', 'vector');
You can run this line in MATLAB Online to view results:
fig2 = uifigure; h = uihtml(fig2,"HTMLSource",'myfigure.svg'); h.Position = [ 0 0 fig2.Position(3) fig2.Position(4)];
  2 commentaires
Thomas Best
Thomas Best le 8 Sep 2025 à 12:20
Thanks for the reply Kevin. I should've supplied a MWE.
If I run:
>> % Define the 1-D coordinate vectors for x and y
x = -2:0.2:2;
y = -2:0.2:2;
% Create the 2-D grid coordinates using meshgrid
[X, Y] = meshgrid(x, y);
% Evaluate the function over the grid
Z = X .* exp(-(X.^2 + Y.^2));
>> surf(X, Y, Z);
>> xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis (f(x,y))');
>> set(gca,'FontName','times')
In the figure window, I followed "Save As" -> Export To -> Format = SVG -> Content Type = Vector. When I make the final selection for vector, the font changes.
Content Type set to Auto, the fonts are preserved:
Changing to Vector, the fonts get reset:
Example run using R2025a Update 1 (25.1.0.2973910
Kevin Holly
Kevin Holly le 8 Sep 2025 à 17:20
Modifié(e) : Kevin Holly le 8 Sep 2025 à 17:20
Thomas,
I have reported the issue to development and they have identified the issue and are resolving it.
In the meantime, if you set(gca,'FontName','times') to set(gca,'FontName','Times') instead, you should not have an issue.
Best,
Kevin Holly

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Objects dans Help Center et File Exchange

Produits


Version

R2025a

Community Treasure Hunt

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

Start Hunting!

Translated by