Can't save a figure plotted by several 'surfm'-s in vector format

조회 수: 4 (최근 30일)
Aleksey
Aleksey 2023년 2월 25일
댓글: Aleksey 2024년 9월 2일
I need to plot a map with a landmask. I use the 'surfm' function:
clf
axesm('MapProjection','polycon',...
'MapLatLimit',[-10 10],'MapLonLimit',[-10 10])
axis off
LAT=-10:.1:10;
LON=-10:.1:10;
Z=LAT'*LON;
surfm(LAT,LON,Z)
colormap jet
print('map','-djpeg')
The result is
Then apply a landmask
land_bit=ones(size(Z));
land_bit(LAT<0,:)=0;
surfm(LAT,LON,zeros(size(Z)),'FaceColor',[.6 .85 1],'FaceAlpha','flat',...
'AlphaDataMapping','none','AlphaData',land_bit)
print('map','-djpeg')
The result is
But when I try to save it in vector format
print('map','-dmeta')
or
print('-painters','map','-dmeta')
I just have
  댓글 수: 2
Shlok
Shlok 2024년 8월 20일
Hi Aleksey,
I executed the code you provided in MATLAB R2020a as well as R2024a, and in both cases, I was able to get the correct output for the vector format, as shown below:
The issue you are facing may be due to an incomplete or incorrect MATLAB installation, particularly with components related to graphics. Verifying and repairing the MATLAB installation or upgrading to the latest version could help resolve this issue.
For further information on dealing with low-level graphics issues, you can refer to the following link:
Hope this helps.
Aleksey
Aleksey 2024년 9월 2일
Thank you. It may be a reason.

댓글을 달려면 로그인하십시오.

답변 (1개)

AKennedy
AKennedy 2024년 8월 29일
To resolve the error when exporting a .svg from MATLAB:
  • Switch Renderer: Use opengl instead of painters:
set(gcf, 'Renderer', 'opengl');
exportgraphics(gcf, 'output.svg', 'ContentType', 'vector');

카테고리

Help CenterFile Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by