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

MATLAB绘图:导出矢量图

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 piday123 于 2021-3-1 17:46 编辑
* \( {- B# j  ?5 }) L9 B7 C6 J  n3 h7 E0 t1 I/ }: E
; ?! K, I2 B3 j5 G; v

" {8 G$ ~/ E* a; G# V5 {前言 SVG格式 通过MATLAB代码保存矢量图 通过figure窗口的工具栏手动保存矢量图
$ k% e% w! M& T1 S
, i. p4 X) n7 X; I/ [5 {9 k  E4 l
SVG格式
8 Z1 C- G; X( Y5 d' R5 M, ^: ^# O  R  ~- ~# \; z  c/ o
SVG是一种图像文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language),由World Wide Web Consortium(W3C)联盟进行开发的。严格来说应该是一种开放标准的矢量图形语言,可让你设计激动人心的、高分辨率的Web图形页面。用户可以直接用代码来描绘图像,可以用任何文字处理工具打开SVG图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器来观看。, l. ^( G# u- O. H' |. q  n8 t

  Z) `% k' ?* z7 _
. G0 o8 n4 _! M) ?( x! Z0 Y通过MATLAB代码保存矢量图

7 Q# E4 Z5 N# L9 G4 Y! c# K2 l5 |" ?( `
直接上代码吧,实际上还是用 saveas函数,只不过把保存的格式改成 svg 。这样你要在文章中放入插图时,就插入这个 svg 格式的图片就行。& z6 {0 T: H' c  p! |

, F  _' \7 I7 Q: _
  • 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')
    8 e3 y- ?- V% C. x5 T# e! S

& I8 F8 a6 U' d5 I0 T/ c2 I+ h$ P( k$ H& ?9 J4 A+ T& L9 ^  {1 d

2 N  G2 X* N3 k" f" P4 l5 C' r6 [' FNote:最好先通过窗口的 Position 属性调整一下窗口的宽和高,然后再保存,不然有可能结果图看着有点难受。
' b1 L6 K% G3 t+ b% P! y
0 G6 M& i# u; t& f+ c1 I! D0 b* c$ s% a& }
通过figure窗口的工具栏手动保存矢量图
' D  g! g  l. O( N1.文件->导出设置
7 {' f( q- Y( `# g8 {8 C& S/ j+ G* X% E1 h

, t& L4 _- N; A( n) t# B2 O3 ~+ l4 x) N; E$ K; \
左侧点击渲染->选择向量格式->应用于图窗
3 i. E  c4 O3 T$ u% l1 t- r5 Q, ?
, o- j! E1 q; p& `8 _ " J9 I! U* R1 g* G2 o4 d
) H* p9 ~/ j/ F  x
点击上图中的导出,选择保存格式为 svg4 O4 ^% q# }1 |+ N5 ]
8 u4 I/ P+ d& q7 t

4 v! w, S! I2 `' O9 b5 M8 I" j+ T' W; `) y0 H
! B* x6 l& A' U7 B9 f& [
注意了哈,就算你选择了向量格式,但是保存的类型为:png、jpg、bmp 这些,你把他们放大后照样糊。你只能选择 svg 或者 pdf,用pdf不方便,一般图片都是拿来放到ppt或者word中的(不知道latex能不能放svg,没用过 )。
4 r, @1 L  I, Y9 F( j2 C: |0 h9 K
还有就是,如果你选择的是位图,然后导出 svg ,你放大了照样糊。% s- a& ^0 F+ M6 c! Q

: f) i3 j" A' m2 e
  ~! ^. |- s0 ]( t6 J7 I
/ |7 ~9 `1 y( i& n. B. S
# y2 Z- K, O, M; K1 |
  • 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-11-23 23:30 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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