目录
前言 SVG格式 通过MATLAB代码保存矢量图 通过figure窗口的工具栏手动保存矢量图前言
一个月没写推送了,忙着搞毕业的东西,
另外也没有怎么学新东西,有的东西学了理解的也不到位,
所以一直就没写。
这两天计算了一些东西(批量的),生成一堆结果图片,然后还要选一些插入到PPT里面。和以往一样,我都是生成jpg、png、bmp等。但是这些位图真是经不起放大,一放大就糊了。
所以就找了一下解决办法,这里简单记一下。
SVG格式
下面这段抄的百度百科的 。
https://baike.baidu.com/item/SVG%E6%A0%BC%E5%BC%8F/3463453?fr=aladdin
SVG是一种图像文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language),由World Wide Web Consortium(W3C)联盟进行开发的。严格来说应该是一种开放标准的矢量图形语言,可让你设计激动人心的、高分辨率的Web图形页面。用户可以直接用代码来描绘图像,可以用任何文字处理工具打开SVG图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器来观看。
通过MATLAB代码保存矢量图
直接上代码吧,实际上还是用 saveas
函数,只不过把保存的格式改成 svg 。这样你要在文章中放入插图时,就插入这个 svg 格式的图片就行。
-
clc
-
clear
-
close all
-
-
-
%% 准备数据
-
% 自变量
-
x = -
2*pi-
0.
01 :
0.
01 :
2*pi+
0.
01;
-
% 两个因变量
-
y1 =
sin(
x) .*
cos(
x) .* x.^
2;
-
y2 =
sin(
x) .*
cos(
x) .* x.^
3;
-
-
-
-
-
%% 可视化
-
% 创建窗口
-
h_fig = figure(
'Name',
'我是矢量图');
-
% 创建坐标系
-
h_ax = axes(
'Parent', h_fig, ...
-
'NextPlot',
'add', ...
-
'Box',
'on');
-
% 使窗口的背景色和坐标系的背景色一样(都是白的)
-
h_fig.Color = h_ax.Color;
-
-
-
% 绘制曲线
-
plot(
x, y1,
'LineWidth',
1.5,
'Color',
'r');
-
plot(
x, y2,
'LineWidth',
2.0,
'Color',
'b');
-
-
-
% 加图例
-
legend({
'y1',
'y2'})
-
-
-
%% 保存成矢量图(SVG、pdf)
-
% 文章的插图用SVG就好,可以插入到 word和ppt中,可以拿浏览器打开
-
saveas(h_fig, h_fig.Name,
'svg')
-
% 也可以保存成pdf
-
saveas(h_fig, h_fig.Name,
'pdf')
Note:最好先通过窗口的 Position
属性调整一下窗口的宽和高,然后再保存,不然有可能结果图看着有点难受。
通过figure窗口的工具栏手动保存矢量图
文件->导出设置
左侧点击渲染->选择向量格式->应用于图窗
点击上图中的导出,选择保存格式为 svg
注意了哈,就算你选择了向量格式,但是保存的类型为:png、jpg、bmp 这些,你把他们放大后照样糊。你只能选择 svg 或者 pdf,用pdf不方便,一般图片都是拿来放到ppt或者word中的(不知道latex能不能放svg,没用过 )。
还有就是,如果你选择的是位图,然后导出 svg ,你放大了照样糊。
加油
转载:https://blog.csdn.net/MitchHong/article/details/113449557