小言_互联网的博客

MATLAB绘图:导出矢量图

323人阅读  评论(0)

目录

前言 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 格式的图片就行。


   
  1. clc
  2. clear
  3. close all
  4. %% 准备数据
  5. % 自变量
  6. x = - 2*pi- 0. 01 : 0. 01 : 2*pi+ 0. 01;
  7. % 两个因变量
  8. y1 = sin( x) .* cos( x) .* x.^ 2;
  9. y2 = sin( x) .* cos( x) .* x.^ 3;
  10. %% 可视化
  11. % 创建窗口
  12. h_fig = figure( 'Name', '我是矢量图');
  13. % 创建坐标系
  14. h_ax = axes( 'Parent', h_fig, ...
  15. 'NextPlot', 'add', ...
  16. 'Box', 'on');
  17. % 使窗口的背景色和坐标系的背景色一样(都是白的)
  18. h_fig.Color = h_ax.Color;
  19. % 绘制曲线
  20. plot( x, y1, 'LineWidth', 1.5, 'Color', 'r');
  21. plot( x, y2, 'LineWidth', 2.0, 'Color', 'b');
  22. % 加图例
  23. legend({ 'y1', 'y2'})
  24. %% 保存成矢量图(SVG、pdf)
  25. % 文章的插图用SVG就好,可以插入到 word和ppt中,可以拿浏览器打开
  26. saveas(h_fig, h_fig.Name, 'svg')
  27. % 也可以保存成pdf
  28. saveas(h_fig, h_fig.Name, 'pdf')

Note:最好先通过窗口的 Position 属性调整一下窗口的宽和高,然后再保存,不然有可能结果图看着有点难受。

通过figure窗口的工具栏手动保存矢量图

  1. 文件->导出设置

  2. 左侧点击渲染->选择向量格式->应用于图窗

  3. 点击上图中的导出,选择保存格式为 svg

注意了哈就算你选择了向量格式,但是保存的类型为:png、jpg、bmp 这些,你把他们放大后照样糊。你只能选择 svg 或者 pdf,用pdf不方便,一般图片都是拿来放到ppt或者word中的(不知道latex能不能放svg,没用过 )。

还有就是,如果你选择的是位图,然后导出 svg ,你放大了照样

加油


转载:https://blog.csdn.net/MitchHong/article/details/113449557
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场