找回密码
 注册
关于网站域名变更的通知
查看: 532|回复: 1
打印 上一主题 下一主题

MATLAB绘图:导出矢量图

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-3-1 17:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 piday123 于 2021-3-1 17:46 编辑
; v" e; n2 U8 [8 D: H7 h. F6 N7 U5 j+ ~
! Y# O4 L& j. `' B
# y  ?! C  a; D8 {+ }0 X% N) g
前言 SVG格式 通过MATLAB代码保存矢量图 通过figure窗口的工具栏手动保存矢量图* M! H$ c" o3 @7 ^! O

6 j/ l" k; H: v1 H3 u& V! pSVG格式
3 D  s1 T7 s# G" O. X' A
8 R; D+ s0 Q7 sSVG是一种图像文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language),由World Wide Web Consortium(W3C)联盟进行开发的。严格来说应该是一种开放标准的矢量图形语言,可让你设计激动人心的、高分辨率的Web图形页面。用户可以直接用代码来描绘图像,可以用任何文字处理工具打开SVG图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器来观看。: D- y1 \3 R. l" x7 T! V

; D3 Q! \) N) {, S2 W4 w4 g' N1 C( d: p$ m3 G$ @
通过MATLAB代码保存矢量图

3 ^3 @! U: D% k& u' E; G: B) _
) R% D* {4 h! o( u2 L: Q* Y' P) h2 Q直接上代码吧,实际上还是用 saveas函数,只不过把保存的格式改成 svg 。这样你要在文章中放入插图时,就插入这个 svg 格式的图片就行。/ Q3 M  b$ A* z1 J- q

* u. v' Q/ |9 |& \- @, I1 n" G
  • 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'); C" n& S, n2 |+ j; j. l" S
$ C: @* ^9 n: D3 `6 \1 W
1 y. ?, B$ |# z

0 r% l. o  f+ P5 \  XNote:最好先通过窗口的 Position 属性调整一下窗口的宽和高,然后再保存,不然有可能结果图看着有点难受。' \- U" Q. {, K, ]! y4 w5 h

8 k1 J2 w  j0 n/ @. l3 U) J
  t! O" c6 g, W- S通过figure窗口的工具栏手动保存矢量图
" L8 ?3 A) w4 U  H& `1.文件->导出设置
- ~1 b+ Q6 d% I' B: P! S! G) |8 d6 o" h$ i6 B

, Z- {( M3 X2 l8 f+ o+ W/ V0 f
( F' t$ s" v" j" @左侧点击渲染->选择向量格式->应用于图窗
4 U2 a+ B6 S3 h% @  R
5 k$ Y/ V. c, G! R. M2 R
$ R, I9 d9 Y/ @4 J5 x- X9 P$ `9 K4 ?1 l. i/ f% c
点击上图中的导出,选择保存格式为 svg
/ u3 l) J/ M0 u  n( F; x) L2 R
3 h3 P& G9 {  l$ Z7 v3 H) t / G! j* \- \6 w, G  W. [5 \- a
% \! {* q4 k$ J* q) X+ N

! o" P2 O+ L- x1 `注意了哈,就算你选择了向量格式,但是保存的类型为:png、jpg、bmp 这些,你把他们放大后照样糊。你只能选择 svg 或者 pdf,用pdf不方便,一般图片都是拿来放到ppt或者word中的(不知道latex能不能放svg,没用过 )。- g3 b0 C; \# Y3 D4 D
* c! ~0 C" O% J  Q9 S& E3 J) L- @3 U( |
还有就是,如果你选择的是位图,然后导出 svg ,你放大了照样糊。
3 S, L3 u2 Z0 g% N& w; b& x. u
6 V& `4 A1 e) o# L) V  [: C; y, j5 b: k/ R1 s$ i# i
* {9 U2 t/ j+ K: U$ P7 T0 ~
8 c5 l& b0 E! ]. J* N9 ^
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-3-1 18:22 | 只看该作者
    MATLAB绘图:导出矢量图
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-15 19:21 , Processed in 0.078125 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表