saveing SVG from figures
조회 수: 11 (최근 30일)
이전 댓글 표시
hello,
I wanted to have all my graphs in the same aspect ratio, same fonts, etc ,etc,etc
so I created an small function that takes the image and sets everything I want and saves the figure as an svg
function ExportFiguresSized(figure,name)
Axes=get(figure,'CurrentAxes');
set(Axes,'FontSize', 30,'FontName','Calibri','FontWeight','bold');
set(figure,'Position',[0,1.058333333333334,50.800000000000004,25.479375000000005],'Units','centimeters','InnerPosition',[0,1.058333333333334,50.800000000000004,25.479375000000005], 'OuterPosition', [-0.211666666666667,0.846666666666667,51.22333333333334,27.940000000000005],'Clipping','on','Resize','on')
saveas(figure,name,'svg')
end
but I am having trouble with something,
in my script i have two different figures and use this function
test2=figure(1);
plot(signals(:,:))
ExportFiguresSized(test2,'test2')
test=figure(25);
plot(signals(:,:))
ExportFiguresSized(test,'test')
But I am facing an strange behavior, the first image created "test2" is not being saved as an svg but as a bitmap (when i open it with inkscape is not a real svg) but at the same time the second image created "test" it is an svg and i can modify as i want.
I can not understand why this is happening, someone could enlight me? or tell me why this is happening?
댓글 수: 0
채택된 답변
Jan
2021년 3월 23일
Try to set the renderer of the figure to Painters. The OpenGL renderer creates pixel graphics.
댓글 수: 3
Jan
2021년 3월 23일
If the figure renderer mode is set to 'auto', Matlab decides which renderer to use. This can depend on the number of graphic elements and if the data contain 3D values or not. You are on the save side, if you set the renderer explicitly to your needs.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Environment and Settings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!