• Python和Matlab生成图片到visio的矢量图


    目录

    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的矢量图

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

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

                      

    2.1 python 保存为svg

    1. #====程序后面加上,如下所示:================
    2. index = np.arange(1, 26)
    3. rects1 = plt.bar(index, e, 0.5, color='#0072BC')
    4. rects2 = plt.bar(index + 0.5, E, 0.5, color='#ED1C24')
    5. plt.axis([0, 26, 0, 50])
    6. plt.title('出租车的预期和实际数量')
    7. plt.ylabel('E and e')
    8. # plt.grid(ls=":",c='b',)#打开坐标网格
    9. plt.xlabel('换电站')
    10. plt.legend(['e', 'E'])
    11. plt.savefig('1.svg', dpi=300, bbox_inches="tight")
    12. ## 保存图为svg格式,即矢量图格式
    13. # 保存文件,dpi指定保存文件的分辨率
    14. # bbox_inches="tight" 可以保存图上所有的信息,不会出现横纵坐标轴的描述存掉了的情况
    15. plt.show()
    16. # 记住,如果你要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纳米之间的光波可感,也就是说,凡不在这个范围内发光和反光的物体对视觉来说,均可属于不存在,或者,凡不以发光和反光呈现其属性的物体对视觉来说均是不存在的。


     

  • 相关阅读:
    wireshark打开tcpdump抓的包 vwr: Invalid data length runs past the end of the record
    1.1 linux命令
    7-3 成绩等级
    Linux: IO中断驱动开发教程
    荒野大镖客emp.dll文件丢失的怎么办,快速修复游戏dll问题
    web综合案例-day01
    普罗米修斯-spring-boot项目集成自定义监控及钉钉推送
    3.22每日一题(二重积分求平面区域面积)
    使用Object.key和delete来将对象中值为空的属性删除。
    【Obsidian】中编辑模式和阅读模式光标乱跳问题以及编辑模式中段落聚集的问题解决
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/125601379