目录

1 概述

2 Python生成图片到visio的矢量图

2.1 python 保存为svg

2.2 svg 转emf

2.3 Visio编辑和修剪矢量波形图

3 Matlab生成图片到visio的矢量图 

 4 Simulink仿真波形到visio的矢量图

5 Python及Matlab代码实现 

1 概述

提到流程图软件,大部分人想到的就是 Visio。确实,Visio 用的人多,和 office 集成度也很高。

但是Visio 不属于 Office 套件,需要单独购买;很多 Mac、Linux 用户无法使用。

利用Visio快速绘制流程图

手动绘制:选择流程图模板,利用形状快速绘制,连线自动生成

自动绘制:在Excel中整理流程的步骤,再通过Visio数据可视化模板导入Excel,自动生成可刷新的流程图

Office的每个组件都有其优势和劣势,如果我们能善于利用各个组件的优势,效率一定会有大幅度的提升!

本科或者研究生在做课题或者写论文的时候,会使用到Python编程、Matlab编程或者使用Simulink进行仿真,当我们使用Python、Matlab或者Simulink进行仿真的时候,需要将仿真的波形进行进一步的编辑作为最后的论文使用的时候,我们需要将仿真的波形图作为矢量图输出,并使用微软的Visio软件进行编辑之后,再粘贴到Word中作为论文的最终贴图。那么我们该如何进行操作呢?

我们可能有两种情况对仿真波形进行输出编辑,第一种情况是Matlab编程生成的Figure图输出,第二种情况是Simulink仿真Scope示波器的波形图输出。


2 Python生成图片到visio的矢量图

以电动车博弈生成图为例:

#=======可视化============index = np.arange(1, 26)rects1 = plt.bar(index, e, 0.5, color='#0072BC')rects2 = plt.bar(index + 0.5, E, 0.5, color='#ED1C24')plt.axis([0, 26, 0, 50])plt.title('出租车的预期和实际数量')plt.ylabel('E and e')# plt.grid(ls=":",c='b',)#打开坐标网格plt.xlabel('换电站')plt.legend(['e', 'E'])

                  

2.1 python 保存为svg

#====程序后面加上,如下所示:================index = np.arange(1, 26)rects1 = plt.bar(index, e, 0.5, color='#0072BC')rects2 = plt.bar(index + 0.5, E, 0.5, color='#ED1C24')plt.axis([0, 26, 0, 50])plt.title('出租车的预期和实际数量')plt.ylabel('E and e')# plt.grid(ls=":",c='b',)#打开坐标网格plt.xlabel('换电站')plt.legend(['e', 'E'])plt.savefig('1.svg', dpi=300, bbox_inches="tight")## 保存图为svg格式,即矢量图格式# 保存文件,dpi指定保存文件的分辨率# bbox_inches="tight" 可以保存图上所有的信息,不会出现横纵坐标轴的描述存掉了的情况plt.show()# 记住,如果你要show()的话,一定要先savefig,再show。如果你先show了,存出来的就是一张白纸。

            

2.2 svg 转emf

svg 在visio里打开有的线乱了,这里使用emf打开

用这个超级棒的网址: 在线svg 转emf

  

  

2.3 Visio编辑和修剪矢量波形图

当我们保存完python输出的*.emf文件之后,我们如何进一步对图片进行处理呢?

首先我们打开Visio,创建一个空白绘图,点击插入栏下的图片,插入Matlab或Simulink中保存的.emf格式的图片,如下所示。

                                    图 插入保存的.emf格式的图片

插入需要编辑的图片之后,全选图片右键选择组合下的取消组合,如下所示。

之后可以根据自己需求进行添加横纵坐标标签,然后粘贴到Word文档中即可。

如果需要将波形进行裁剪,在Visio的文件→选项→高级中找到常规下的开发人员模式运行,将复选框进行勾选,点击确定,如下所示。

                                                 图 打开以开发人员模式运行

选择了开发人员模式运行之后,就会在Visio的菜单栏中显示开发工具选项。选择开发工具栏下的线条,用线条绘制需要分割的区域,之后选择需要分割的波形和线条,点击操作选项下修剪就可以对矢量波形图进行分割操作,如下所示。

最后根据自己的需求,将矢量图进行进一步的修饰编辑,得到想要的Visio图形,最后复制粘贴到Word中作为最后的论文的波形图即可。 


3 Matlab生成图片到visio的矢量图 

当我们使用Matlab进行编程得到的波形,并且想要存为图片时,以MATLAB R2018a为例,新建一个Script文件,输入以下代码,得到出租车预测与实际数量。

 如果我们不需要后续的编辑,可以直接在菜单栏的文件选项下点击导出设置,如所示。然后选择渲染,导出。

 

 

 后面导入visio的步骤和本文2.3 Visio编辑和修剪矢量波形图一样

 4 Simulink仿真波形到visio的矢量图

首先打开Simulilnk的仿真波形,对波形进行调整至需要作为输出的波形图,由于Simulink默认的图背景是黑色的,并且有很多栅格,如所示。

                                  图 需要进行编辑的Scope波形图

为了方便后续的编辑操作,我们需要将这些网格先取消显示。我们点击Scope的⚙图标,将Display下的Show grid取消选择,如下所示。

                                                 图 取消显示网格

然后将Scope的背景设置成白色,波形的颜色可以设置为深色的。点击View下的Style进行背景颜色的设置,如下图所示。

                                      图 设置背景和波形的线宽

点击File下的Print to figure,将Scope的波形打印成Figure,如下所示。

                                                  图 将Scope的波形打印成Figure

打印成Figure后,点击Figure中File下的Export Setup… ,如下所示。

                                          图 将Figure进行导出设置

同理,在之后的弹窗中选择渲染,颜色空间选择RGB颜色,勾选自定义渲染器,选择矢量输出,之后点击应用于图窗,最后选择导出即可。导出时对文件进行命名,如果需要用Visio进行后续编辑,保存类型选择*.emf格式进行保存。

  后面导入visio的步骤和本文2.3 Visio编辑和修剪矢量波形图一样

5 Python及Matlab代码实现 

如果对本文代码和运行结果感兴趣:点这里查看:正在为您运送作品详情

以视觉和听觉为例:视觉大约占去人类信息感知量的70%—80%,然而它只是生物感光系统的一种机能表现,其自然演化渊源与低等生物最简单的光合能量代谢方式有关。因此,他只是某一进化环境所限定的照度内对400—700纳米之间的光波可感,也就是说,凡不在这个范围内发光和反光的物体对视觉来说,均可属于不存在,或者,凡不以发光和反光呈现其属性的物体对视觉来说均是不存在的。