这种图是做网页用什么软件件做的?

业务流程图的绘制流程分享(一) - 博客 - 伯乐在线
& 业务流程图的绘制流程分享(一)
& 22.6K 阅读
前言:近来一段时间,忙于整理业务流程图,期间,关于流程图的绘制方法和工具也与内部团队和外部做了心得交流,恰好,个人生活也牵涉在买房,婚礼,户口迁移等流程中。不知不觉,伴随着实践与反思,个人所得的系统知识趋于完整,今儿天气极好,坐在飘窗一隅,听着间或几声鸟鸣歌唱,偶尔瞥一眼窗外的遍地绿荫,真真觉得是个写点什么的日子。所以就整理成文,如果恰好对你有所帮助,那是真真好的。
真实整理的流程牵涉到公司未公布的计划,不好公开,所以在本文中会借助一个简单的案例替代(这个案例呢,也就是计划写本文前30分分钟才想到的,如有考虑不周,请各位见谅),但是仅传达概念和方法,倒也足够了。恩,甄環体告一段落,咱们开始吧。
图1:用即时贴与白板做的简单流程图
本文会包含几块内容:
1. 什么是流程图?流程图和其他图表(如线框图,概念图,架构图,用例图)有什么不同?
2. 为什么需要流程图?
3. 流程图的分类?
4. 如何绘制流程图?
5. 流程图绘制工具
视篇幅情况,会在行文时略加划分为系列,敬请关注并多多交流。
第一部分:什么是流程图?
了解一个事情,我习惯从它的定义开始。至于为什么,可以参见我之前的博客文章:http://heidixie./.html
我们因为厌恶十年教育,厌恶背各种定理和定义,所以我发现生活中和工作中很多人都很讨厌给一个事情下定义以及去参考定义。所以你会发现很多人在一起争吵得不可开交,仔细去听,原来是鸡同鸭讲,根本不在一个频道上。对于一个事情的描述,没有一个共同的语言,没有所谓的术语。有定义很好办,你们共同引用一个定义,发现定义有问题,OK,去补充这个定义,并扩展到更多的人群。当然,任何事情过犹不及,我们相互提醒吧。
那什么是流程图呢?说文解字是一种了解定义的好方法。流程图=流程+图,如下图:
图2:流程图的定义
流程:Flow,是指特定主体为了满足特定需求而进行的有特定逻辑关系的一系列操作过程,流程是自然而然就存在的。但是它可以不规范,可以不固定,可以充满问题。所以就会造成看似没有流程。前不久,团队每个人对接一个业务团队去调研流程,反馈给我的流程有一些缺失。询问时,负责人反馈给我的答复是:这一块业务他们没有流程。其实严格意义上讲,业务已经开展,不可能没有流程,只是说没有固定的流程或者你调研的对象也讲不清楚。
图:Chart 或者 Diagram, 是将基本固化有一定规律的流程进行显性化和书面化,从而有利于传播与沉淀、流程重组参考。
从定义可以看出,只要有事情和任务,流程就会有,但是并不是所有的流程都适合用流程图的方式去表现,适合用流程图去表现的流程是一定程度固定的有规律可循的,流程中的关键环节不会朝令夕改的。
2. 流程图与其他图表的对比
工作中我们还用到或听到很多其他类型的图表,比如交互设计师们经常说的线框图(Wireframes),信息架构图或站点地图(Site Map),,开发工程师们经常说的用例图(Use Case)或E-R图。这些不同的图表要表达的内容有何种差异呢?简单做个对比,如图:
图3:流程图VS其他常用图表
如果要串到某一个项目来说,可以理解成:
用例图(Use Case):
表现了一个角色在系统里要完成的活动是什么,比如用户这个角色与ATM取款机的交互过程中,用户需要完成的活动有存钱,取钱,查询等。而存钱这个活动再可以进一步细分为插卡,输入密码,输入金额,ATM吐钞,用户收款,退卡等活动。用例图可以不考虑用户动作的前后次序,而仅仅提取一些关键的动宾短语,映射出系统应该满足的功能点。常用用例图的人是产品经理和开发工程师。
流程图则表示用户每一个活动的前后次序,比如用户必须要先插入银行卡,才能够输入密码,且流程图必须直接表现出各种异常判断,比如当密码错误时,出现什么提示,密码输入错误超过多少次时,出现什么提示和动作。常用流程图的人是产品经理,设计师,或者任何需要讲述业务如何运作的人。
信息架构图,站点地图(Site Map):
表现为了做一个这样的系统,功能与内容的展现层次是什么,比如用户一进去后,欢迎页面的导航如何设计,是否直接出现取款,存款,查询,或者还有别的导航?常用信息架构图的是设计师。但是常用组织架构图的是HR。
线框图(Wireframe):
将具体每个界面的内容布局和权重表达出来,且标注出一些交互细节的设计,比如当密码错误后,如何提示下一步动作。常用线框图的人是设计师。
实体关系图(E-R图):
则是数据库架构的工作,表示一个业务系统或场景中的实体时间的关系,比如储户与银行卡的关系是归属1对多,通过开卡事件产生关联。一般来讲,用矩形来表示实体,椭圆标识这个实体的属性,比如储户这个实体的属性有:姓,名,手机号码,住址等。而银行卡的属性有:开户行,开户名称,银行卡号等。
以上的这些图表各自都有领域的专家,我这里就不班门弄斧了。
那么流程图要体现出他的差异定义,要素是什么?总结出了流程图的6大要素,希望大家能够记住,这6个要素可以在以后的文章里不断回顾,你也可以拿来判断你所看到的流程图是否专业。
图4:流程图6大要素
●参与者:谁在这个流程中?可以是系统,可以是个打印机,更多的指什么角色——一般是有某种工种的人。比如客服同时有小A和小B两人,但是若他们的工作性质完全一样,那么在流程图里只需要写一个客服角色就可以了。
●活动:做了什么事,比如点餐,结帐等活动。
●次序:这些事情发生的前后顺序如何,哪个任务是其他任务的前置条件?比如客人不结帐,就不会产生送他优惠卡的活动。
●输入:每项活动开始取决于什么样的输入物或数据,比如做饭的师傅开始做菜时,需要拿到具体的点菜单。
●输出:每项活动结束后,会输入什么样的文档或数据传递给下一方,比如师傅做好菜后,如何让负责传菜的人知道菜已经做好?
●标准化:采用一套标准化的符号用以传递你的流程图,从而使受众更快明白。
关于流程图的标准化,并不是强制的,事实上,我们见过很多种类的流程图,只要能够传递明白任务和次序其实已经归类于流程图了。如下面的图:
但是若在一个公司的环境下,你的流程图的受众又非常多的话,采取标准化的符号会带来很多交流上的好处,总之你懂的。
第二部分:流程图的分类?
常见的流程图有业务流程图(Transaction Flow), 页面流程图(Page Flow)。
在工作中,作为UED,你可能会发现PD经常谈的是业务流程,而作为交互设计师,我们更多产出的是页面流程图。页面流程图和业务流程图到底有什么关系呢? 先有谁,其次再有谁呢?
先讲个故事:假设你的梦想是开个中高档的全国连锁餐馆,那么首先你想到的应该不是如何去选址,而是将为何要开连锁餐馆这件事情,以及你的定位,核心竞争力想清楚。是快餐,还是点餐,是连锁还是加盟?定位于社区还是繁华商圈?是川菜还是江浙海鲜?是面向中老年还是年轻人?是家庭主题还是动漫主题?竞争对手是谁?需要什么样的投资?可能的风险是什么?这些都想清楚了,问题都有答案了,所谓战略层要清晰了吧。然后假设你现在分析来分析去,与主要投资方决定了一个方向:面向年轻人的时尚动漫茶餐厅,连锁,但是先在杭州开始第一家,选址定位于年轻人约会,扫街的地域,比如风景区,著名商圈,电影院旁…………等等等等,那么接下来呢?
接下来就是想办法让这些实现吧?那么需要做什么事情呢?选址?拉投资?搞装修?选餐饮菜单?雇佣员工?每一步怎么去做,时间点是什么?等等的任务拆解以及计划,就需要到战术层了。
这些事情的执行,总是需要请人的吧?先是核心团队分工去部署各项建设任务,当餐厅开设起来后,就需要组织稳定的运营团队,如服务、卫生、厨房、采购、人事等等,厨房里面还得分工,白案,热菜,冷菜等等吧?每个部门需要设置管理层以及汇报关系吧?所以你的组织结构就诞生了。
那具体每种角色是如何顺畅合作完成日常稳定的以及突发的各项任务呢?比如,当顾客上门时,谁去引导客人入座,谁去点菜,怎么将点菜的讯息迅速传递到厨房,并分发到酒水间、冷菜间、热菜间?并保证客人尽快能够吃到所点的菜?你必须要考虑各种人员的协作流程,优化效率,所以业务流程就出现了。
人肉运营了一段时间,没有借助任何点餐系统,你发现也还可以。客人点菜时,服务员手抄写下客人的要求,因为有复印纸,所以服务员能够将副本送入厨房,同时写下餐桌号码。厨房规模较小,负责分配任务的员工看下菜单,分别往冷菜处的黑板上写下需要他们处理的,以及跑到热菜区的黑板上写下待处理的菜品,以及去酒水间报下品名即可。可是随着经营的扩大,以上的人肉方式出现了很多问题,首先,手抄效率太低,顾客频繁换菜,响应来不及,手抄出错,导致经常报错菜。厨房很混乱,不得不多招了几个人专门跑堂。而一旦顾客要加菜,撤菜就更麻烦了,需要找出他们当时点的菜,再进行人工的批注和修改,同时要修改厨房后端的各个黑板……
所以你们想要开发一套智能系统,取代很多人肉工作,你们请了系统开发团队,他们经过评估,判断从点菜开始,一直到传菜都可以用系统解决。手持终端,能够快速传递顾客点菜需求到打印机,打印系统能够根据顾客点菜的类型进行自动的分单打印,所以热菜间看到自己的热菜菜单,冷菜间看到自己的冷菜菜单,而酒水间看到酒店菜单。当他们准备完毕后,送出,传菜员可以根据菜名与打印出来的单据进行传菜并根据顾客的点菜小票进行核对。这套系统同时必须配备结算系统,将最终确认掉的菜单及消费价格传递到结算前台,收银员能够快速进行操作。
这套系统最终是需要展现出来的,那么手持终端的界面如何设计?服务员能够用更少的点击完成一个菜的点餐吗?结算中心的界面如何设计?
通过以上的故事,是不是更明白从战略、战术、业务流程图到页面流程图的关系了?总结下:
●先是有一个业务需求和业务目标,也即我们的愿景是什么?(战略)
●然后就诞生了我们需要分解出什么样的任务,如何执行战术?(战术)
●然后就诞生了需要架构什么部门,岗位去分工协作?(组织架构)
●然后就诞生了不同的部门在协作完成某件任务时的业务流程?(业务流程)
●业务流程基本稳定后,往往会考虑优化效率,所以会诞生出系统来支持流程,减少人肉环节,促进数据采集(系统愿景)
●为了设计这个系统,PD需要思考什么功能能够取代某个环节的人肉工作(功能需求,系统流程)
●不管是怎么样的功能最终都会以界面的方式呈现,设计师们会关注用户在系统里的任务流,行为路径,让用户完成任务更加高效愉悦。(页面流程)
当然,除了业务流程,系统流程,页面流程,还有数据流程被人关注。
我们平时工作中,还会经常听人谈到泳道图啊,任务流程图啊等等概念,究竟是神马关系呢?
图5:流程图的分类
本文着重于上述流程中的“业务流程图”——并会分享如何绘制泳道图——也即是PD们最多使用,技术们最多参考,UED们最多看到的流程图。
本来在第四部分会对泳道图的图示以及绘制方法、原则做更详细的说明,但是看目前的篇幅情况,预计会放到下篇,所以先在这里简单说明下吧。
在工作中,我们经常能够看到两种业务流程图,从表现形式来看,一种很好区分,俗称为“泳道图”的它,在样子上也确实像个泳道,可以有横向的泳道,也会有纵向的泳道。泳道图在某些文档里会被称为“以活动为单位的流程图”,浮在泳道中的都是一个个活动。
另外一种类型是以部门和岗位为单位的流程图,下图中的圆形就代表一个个部门或岗位。矩形代表活动。这种流程图关注事情如何完成的逻辑,但是在体现各个部门的责任上比较弱。如果是某个岗位的人来看,很难像泳道图那样一眼就能看到自己部门的职责和任务。所以现在用得比较少。
再回过头来说泳道图,泳道图有几个关键点:两大维度,活动流转,流程要素。我们会在以后详解。
第三部分:为什么需要业务流程图?
流程图可以提供一种简单扼要的“缩略俯瞰图”,帮助观众快速了解业务如何运转。它包含了几个关键词:谁,什么时候,在什么条件下,做了什么事情,输入什么,输出什么,输出给谁……
与系统流程不同,业务流程更关注于业务本身如何运作,讲的是业务故事,包含的是业务规则。而系统流程则是满足业务流程,实现部分流程或全部流程的信息化和系统化。
所以业务流程是所有环节的前置条件——软件需求分析,信息系统建设也会先进行业务流程的梳理。
下面表现了业务流程图是如何在三个主要场景中发挥作用的:
1. 员工培训
图6:流程图的应用场景之一:培训
在此场景中:流程图能够提供一种快速了解业务如何运作的视图,通过业务流程图,新员工能够快速明白业务的最终目标是什么,中有哪些角色在参与以及他们的职责,以及彼此之间的联接。
除了培训新员工,在员工轮岗、调职场景中,员工也需要业务流程图参考,明白新的工作内容如何开展,以及自己所处的位置,自己的上游是谁,下游是谁,自己需要交付的工作内容是什么。
2:流程优化与重组
图7:流程图的应用场景之二:流程优化
业务流程重组(Business Process Reengineering)的存在可以明确反驳:存在即合理。事实上,存在的业务流程并未是合理的,有可能是参与的多个角色习惯了某种做法,有可能是变革尚未影响到末端的操作,也有可能缺乏对于运行中的业务流程问题的洞察以及强有力的变革推动——因为要推动业务流程变革,不是某个部门的事情,而是需要流程中各个部门的通力配合。
更多时候,业务流程优化是自上而下的,但是老板们未必对实际运作的业务流程那么心知肚明,业务流程图能够很好去表现这个“运作模型”。通过看业务流程图,找关键节点的人访问,能够直接切入:为什么要这么做,为什么不这么做?从而探索出更深层次的问题,而不是问:你们现在怎么做?
通过调研,分析业务流程图,引入更多角色,能够分析出目前业务流程的问题:缺失,重复,风险,效率等等。从而制定相应的优化方案。
3:信息化的基础
图8:流程图的应用场景之三:信息化基础
正如上文所述的餐馆梦想的案例,信息系统的一项任务就是解放员工的手脚,取代一些重复的人力劳动工作。系统上了之后,不是说业务流程不需要而是经过了一些调整,其中某个参与者变成了系统,或手持设备,或打印机而已。
那么在做系统的功能设计和系统流程设计时,是不是必须先要了解目前业务是如何运作的呢?从而更好分析分析,更好说明系统在什么环节取代了什么类型的人肉工作?
所以我们看到的PRD往往也会先以业务流程图开始说明,而叙述一个系统建设的好处时,也可以用以前的业务流程与系统上了之后的业务流程进行对比。根据分析,将愿景中的新的业务流程图背后需要系统的功能点撰写清楚。
第四部分:如何绘制业务流程图?
首先绘制业务流程图本身有没有流程?一定是有的。在软件工程学里听说一句话叫:万物皆对象。那么在流程学里,万事皆流程。吃饭难道没流程吗?就吃饭的动作而言,就有流程:拿筷子——夹菜——入口——咀嚼——吞咽。
有不少同学在这一部份很快想会问一个问题:Heidi,请介绍画流程图的工具吧?
我个人是工具派,从不否认人工欲善其事,必先利其器的道理。好的工具本身就是一名好的老师,除了技能,也能够教会我们一些理论与理念,这些理念也是“器”中很重要的一部分。其次才是具体的工具应用技能。所以我并不建议直接跳转到工具应用。对于初学者而言,笔与纸永远是最好的入门工具,因为你无需和任何一个陌生的软件较劲。
那么,绘制业务流程图有没有可遵循的流程呢?我建议可以从下面4步着手。
如何快速了解业务运作真相?有没有调研的技巧放送?
2. 梳理与呈现
能否快速将调研得到的文字和问题,快速转化为业务流程图?
业务流程图的标准图示是什么?
怎么评价一个业务流程图的好与坏?
3. 评审与确认——能否真正让业务流程图反映现实中的业务?
4. 归档维护——流程不断变更,业务流程图如何快速响应?
这些将会在下篇《业务流程图的绘制流程分享(二)》详解。
第五部分:绘制工具?
如果不搞工具研讨会的话,这部分比较简单.
Windows: 线下工具大家常用的就是下面三个:
小的流程图用用PPT就够了,完了就导出图片或截图。交互设计师们因为常用axure绘制线框图,所以也不必为了流程图去学习新的工具,完全可以用axure的flow控件完成简单的业务流程图的制作。而PD们则常用微软的visio。
此外,特别推荐一个软件:。
我最近的流程图都是用SmartDraw绘制的,你可以下载一个免费版本体验下。这个工具不仅仅是为了流程图而设计的,几乎上包罗万象:线框图,流程图,E-R图,UML ,韦恩图,甚至甘特图,脑图……没有像很多人推荐就是因为他太庞大了,尤其是里面的模版。大家体验下:
自然要推荐. 绘制出来的任何图表不知为何总会觉得很美……
当然,这个软件是可以去下载免费版的……
但是不管windows还是mac,除了线下的工具,还有更多线上的选择:
不过貌似我们对线上工具普遍来说都不太放心,是对服务器,网速,还有对GFW不放心吧。
这个是界面做得最好看的一个工具。我用它来绘制过概念图(Concept map)。如下图即是用以上的工具画的。
转载请注明来处,关注我请点击:
好棒呀!!!!
为作者带来更多读者;为读者筛选优质内容;专注IT互联网。
最新评论(期待您也参与评论)
汇集优质的Python技术文章和资源。人生苦短,我用Python!
JavaScript, CSS, HTML5 这里有前端的技术干货!
关注安卓移动开发业界动态,分享技术文章和优秀工具资源。
关注iOS移动开发业界动态,分享技术文章和优秀工具资源。
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线博客团队正试图以我们微薄的力量,把优秀的原创/译文分享给读者,做一个小而精的精选博客,为“快餐”添加一些“营养”元素。
欢迎关注更多频道
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选博客文章
– JavaScript, HTML5, CSS
– 专注Android技术分享
– 专注iOS技术分享
– 专注Java技术分享
– 专注Python技术分享
(加好友请注明来意)
网站使用问题
请在询问或者反馈
& 2015 伯乐在线
赞助云主机这种图片是用什么软件做的?_百度知道
只要是P图软件应该都可以了,看你对像素的追求高不高来选择软件
比如说可以用哪些应用
其他类似问题
为您推荐:
其他4条回答
不是用软件
具体不知道,因为我也没搞懂
手机上能不能做
可以用手机把图片传到电脑去
手机是不可以的
电脑刻录的
在手机上能不能做
有没有手机上用的应用
Photoshop手机版,类似美图之类的做不了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁这样的效果图是用什么软件做出来的_百度知道
这个应该是3d渲染 加ps后期合成
其中的树还有些地表物体透视角度不对,一眼就看出除了几幢主楼 前景的地面和树
在ps平面软件用素材叠加处理出来的。 效果图 3d软件。 大多是用max。也有用cad建模再倒入到max的,不过基本是以max建模渲染为主。
其他类似问题
为您推荐:
其他2条回答
先用,CAD建个平面图,然后转入,3DMAX 做出立体图,再渲染出来,然后在PS里面加入人物背景天空这些,再美化融合一下就可出来了,
3D软件。比如圆方。3DMAX。CAD建模,然后渲染后再用PS调用图库的场景和植物人物进行移值............................
您可能关注的推广回答者:
效果图的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何在论文中画出漂亮的插图?
经常看到别人论文中画出各种绚烂的插图,我想知道这些图都是用一些什么样的软件画出来的。比如下面给出的几张,好吧,我承认有的并不那么绚烂,但用什么样的软件比较合适呢?具体答案可以拓展到更为广远的作图领域。&br&&img src=&/9ea956da0_b.jpg& data-rawwidth=&456& data-rawheight=&439& class=&origin_image zh-lightbox-thumb& width=&456& data-original=&/9ea956da0_r.jpg&&&img src=&/1fd43ead7b9d2b7e05d6d_b.jpg& data-rawwidth=&486& data-rawheight=&342& class=&origin_image zh-lightbox-thumb& width=&486& data-original=&/1fd43ead7b9d2b7e05d6d_r.jpg&&&img src=&/9ee0ba66aeffd9c5b40d3b_b.jpg& data-rawwidth=&370& data-rawheight=&225& class=&content_image& width=&370&&&br&&img src=&/2b34f0cbaa615ba84cdc38921ce25cee_b.jpg& data-rawwidth=&490& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&490& data-original=&/2b34f0cbaa615ba84cdc38921ce25cee_r.jpg&&
经常看到别人论文中画出各种绚烂的插图,我想知道这些图都是用一些什么样的软件画出来的。比如下面给出的几张,好吧,我承认有的并不那么绚烂,但用什么样的软件比较合适呢?具体答案可以拓展到更为广远的作图领域。…
按投票排序
高能预警!!!多图杀猫!!!我是认真的!!!首先发个链接: 这哥们的 visualization 能力完爆所有答案(包括我的)加起来,实在是牛逼……==这题目都给写成这样了,我就不指望赞了。你们就当福利好了。这个回答里的图都是我自己画的,盗图必…… 算了你们想拿去玩就拿去吧……看到这个问题的时候我有点纠结问题里的最后一张图是怎么画的,不过仔细看了一下我觉得应该是二维空间里画的。所以 Asymptote 和 Metapost 都可以。对了补充一点,在我的另一个回答里(),我提到对于科研的价值,科研圈和大众的定义是不一样的。对于“漂亮的插图”也是一样。君不见大众媒体里少有数据图,就算有也是寥寥几笔,fancy 为主,使用符合当前大众审美的风格(比如现在是扁平、极简),测量从来不画 errorbar,甚至极简风格的连坐标轴都不画,一条颜色风骚的曲线牛逼闪闪。对于大众来说,看起来牛逼、fancy 才是漂亮。但是在科研圈里显然不是这样,而且不同的学科之间对图的严谨、清晰程度的要求也不一样。所以单纯地说一个插图“漂亮”其实没什么意义。——————————————正文:我觉得这个问题让我答简直太合适了…… 只要是用来画图的玩意我基本都用过,也都会。这个回答主要介绍工具,为什么不说方法呢?因为感觉好像没什么好说的,你觉得什么地方难看,改一下就行了啊…… 从最简单的开始吧。菜鸟级:Matlab, Mathematica 和 R 就不说了。Python 有个著名的库叫 Matplotlib, 主要用来数据作图,但本身带有层次较低的 API, 原则上可以用来画任意种类的图。这玩意自带 TeX 数学语法。数据作图效果这样:丧病一点可以这样:这种牛逼闪闪的等高线也是小意思~~这种牛逼闪闪的等高线也是小意思~~这么多点也是没问题的:这玩意极其的灵活,比如 Mathematica 有个功能就是画函数曲线的时候自动选择合适的采样率,斜率或者曲率比较大的地方会自动使用高采样率。于是我在 Python 里也实现了一个,这样就可以用 Matplotlib 无脑画函数曲线了,比如这样:Gnuplot. 纯画图方面与 Matplotlib 不相上下,优点是快,超级快。图就不放了,和 Matplotlib 差不多。普通级:Metapost. 脱离菜鸟级以后,我们离开了 API 和程序的地盘,开始撸绘图语言。首先当然要介绍大名鼎鼎的 Metapost. 这货的历史最早要追溯到 Knuth 大神设计的 Metafont, 但是 Metafont 是用来制作字体的,于是一帮人仿照 Metafont 设计了通用绘图语言 Metapost. 写程序画图相对于使用 GUI 工具来说最大的好处就是可以精确地控制,和自动化。这种绘图语言尤其适合画示意图。还是上图吧……费曼图什么的简直就是不在话下…… 其实我是不太明白为什么有些软件画出的费曼图那么难看的……然后这是我用 Metapost 给我的统计力学笔记撸的封面:Asymptote. 有一小撮人用 Metapost 不爽,毕竟语法太古老了,于是搞出了类 C++ 语法的面向对象语言 Asymptote, 也是醉了…… 除了写出来比 metapost 好看一些意外,基本上差不多:初中几何题都是可以的。这玩意比较逆天的功能是 3D 矢量作图~~ 你看我这么一比划,你不就知道面心立方的晶胞是什么样的了么~~继续继续嗯,还有好多图懒得找了,Asymptote 就先这样吧。嗯,还有好多图懒得找了,Asymptote 就先这样吧。………………地狱级:这个级别的工具当之无愧地给了 Postscript 这个基于堆栈的底层页面描述语言,这个语言是如此的强大,以至于 Adobe 后来不得不发展了简化版(更易于实现):EPS 和 PDF.
这个语言的神奇之处就是它底层到用户几乎忘了它的存在,但同时它写起来却不是很费劲。如果你玩过 RPN 计算器,就很容易理解 PS 的逻辑。这玩意最大的好处它的语法十分简单,无论你用什么语言来计算,都可以方便地生成 PS 代码,而不需要考虑你用的语言是否有好用的绘图 API. 比如我之前玩元胞自动机的时候就可以用计算的代码直接生成图形:放大一点可以看到我在图上直接写了格点的编号,方便调试~~放大一点可以看到我在图上直接写了格点的编号,方便调试~~奇葩级:最后这个级别主要是给一些特殊用途的工具。Graphviz. 这是一个图可视化工具包,可以可视化各种无向图和有向图。前几天我刚刚用它画过一个流程图:Blender. 这是一个自由的通用 3D 建模/着色/渲染/动画套件,我基本上是看着它一点点从一个土了吧唧的山寨三维软件逐渐进化成现在 Maya 级别的 3D 套件的。你们都在 Nature 杂志上见过那种很漂亮很 Fancy 但其实没什么用的三维渲染图对吧?我只能说…… 他们如果雇我画图的话会更漂亮更 fancy…小清新洛伦兹吸引子:小清新某分子:这张图的源文件(分子略不同,注意有三个 scenes 需要渲染):这张图的源文件(分子略不同,注意有三个 scenes 需要渲染):嗯,就先这样吧~~ 想起什么再更新……更新:Pov-ray: 好像还没有回答里提及这个。这是一个场景描述语言 + 渲染器,那个渲染器还是不错的,就是比较慢。这玩意有两种用法:当渲染器用,主要是在别的 3D 软件中把场景导出成 pov 文件,然后直接渲染,没什么技术含量把数学公式写进去画曲面。这个玩法比较特别,配合 pov 强大的渲染器可以撸一些非常怪异的东东,但是…… Blender 是有 Python API 的,所以其实 Pov-ray 能撸的 Blender 都能撸。我之前有一段时间特别痴迷这个,后来发现然并卵,用 Blender 就行了……最后再把之前那个链接发一下: 实在是太牛逼,不服不行……
我喜欢用Mathematica画图,默认出图漂亮,自定义性好,支持常见各种类型的画图,能导出丰富的格式,动态交互和制作动画也很强大,还有一点:Mathematica很数学,语法和数学上的习惯更接近,函数或方程作图只需输入表达式和范围即可,Matlab和
Python中一般需要先手动离散化Matlab的可视化也很强大,不过被吐槽较多的一点是线条有锯齿(这个和取的点多少无关,其实也能消掉)()3维绘图色调不好看,当然如果有耐心也可以画出漂亮的图形的Python的matplotlib库我也用过,风格是模仿Matlab的,就默认绘图来说比Matlab好看(起码没锯齿),好处楼上已经有人说过了,但是并非没有
缺点,使用matplotlib需要一点编程和Python基础,对于编程基础不好的同学来说入门会比其他的软件慢一点;matplotlib的2维绘图很好,但是3维绘图目前还比较差,各种绘图细节方面的可选项不算很丰富,不支持隐函数绘图(形如F(x,y,z)=0这种),性能也不好(如3D的scatter,大概1万个点就开始卡了,Mathematica和Matlab 10万个点都不算卡),3维的用mayavi这个库可能更好普通函数绘图只需输入表达式以及取值范围,真正的一行代码。第二幅图中加上Mesh-&All,显示出所有点的位置。可以看出Mathematica很聪明,它知道在变化剧烈的地方取更多的点,变化较少的地方少取一些Mathematica不仅支持Latex,还能直接写二维的公式以及把公式导出为Latex不等式区域绘图,在Mathematica中使用RegionPlot很简单,但在Matlab和Matplotlib中有点麻烦(下面这个是在极坐标下的)绘制图表下面是几个3D的,比较下Matlab和Python画的爱心下面是几个3D的,比较下Matlab和Python画的爱心2行代码创建的2行代码创建的Matlab版:矢量场流线图矢量场流线图图论中的图图论中的图散点图更多美图
遇到安装问题的请尝试Anaconda这个Python发行版。下载安装后直接使用即可,它几乎预装了所有要用到的科学计算及可视化的库。有盆友在评论里说希望能有完整的教程,确实就这个答案来说,离实际使用还有很大的距离,网上相关的中文资料也不多。不过真要写起来这个答案也装不下,况且写在这个问题下也不是很恰当。等到那天我有专栏了再说吧,到时候也许会写一个关于可视化的系列教程。=======分割线======强烈推荐 Python 的绘图模块
。画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢量的各种绘图。能够保存成从 eps, pdf 到 svg, png, jpg 的多种格式。并且 Matplotlib 的绘图函数基本上都与 Matlab 的绘图函数名字都差不多,迁移的学习成本比较低。开源免费。如图所示(题目描述中的图在最后):(以下图片均引用自
)像这种普通的函数图象:plt.fill(x, y1, 'b', x, y2, 'r', alpha=0.3)
以及这种 Scatter 图(中文不知道该怎么说…):plt.scatter(x, y, s=area, alpha=0.5)
精致的曲线,半透明的配色。都显出你那高贵冷艳的X格,最重要的是只需一行代码就能搞定。从此以后再也不用忍受 Matlab以及GNUPlot 中那蛋疼的配色了。想画 3D 数据?没有问题 (不过用 mayavi 可能更方便一些):ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
cset = ax.contourf(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm)
cset = ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm)
cset = ax.contourf(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm)
四行代码你就能拥有(后三行是画坐标平面上的等高线,严格的额说还是一行)。除此以外,不过你是矢量场,网络还是什么奇葩的需求都能够搞定:plt.streamplot(X, Y, U, V, color=U, linewidth=2, cmap=plt.cm.autumn)
plt.colorbar()
plt.triplot(x, y, triangles, 'go-')
plt.title('triplot of user-specified triangulation')
plt.xlabel('Longitude (degrees)')
plt.ylabel('Latitude (degrees)')
ax = plt.subplot(111, polar=True)
bars = ax.bar(theta, radii, width=width, bottom=0.0)
这还没完,Matplotlib 还支持Latex公式的插入,当别人画的图还是这个样子的时候(以下图片引用自)你能够把它变成这个样子:你能够把它变成这个样子:如果再搭配上 IPython 作为运行终端(这张图是自己的~):如果再搭配上 IPython 作为运行终端(这张图是自己的~):简直就是神器啊,有木有!心动不如行动,还等什么?(奉上教程一篇 )==== Update:
18:04 ====经同学提醒,再补充一句,matplotlib 还可以话 xkcd 风格的图呦~(图片引用自网络)(图片引用自网络)此外结合 IPython Notebook 后更多精彩内容,请看==== Update:
20:04 ====如果嫌安装麻烦并且恰好在 Windows 系统下的话可以尝试Python的一个发行版。==== Update:
23:45 ====鉴于同学质疑 matplotlib 是否能画出题目中所示的图像,我在这里将题目中的图像用 matplotlib 画出来如下:代码在此处:代码在此处:代码在此处:代码在此处:======== 更新======看到楼下有人说配色和好看,唉....那我也贴几个吧...只不过当初限于篇幅没有写而已。首先,python 有一个专门的配色包,提供了从美术角度来讲的精美配色(戳这里感受)。此外还有一些致力于美化绘图的库,用起来也都非常方便,比如。废话不多说,上图就是王道。(一下图片来源网络)有人可能会说需要复杂的设置,其实也不用。比如上边这幅图,只需要多加一个参数就好:cmap=brewer2mpl.get_map('RdBu', 'diverging', 8, reverse=True).mpl_colormap,
楼下说到统计绘图。嘛 seaborn () 是一个调用 matplotlib 的统计绘图库,上图:代码一行,后边的几乎都是一行,没做其他设置,默认就这样。我就不贴其他的代码了:代码一行,后边的几乎都是一行,没做其他设置,默认就这样。我就不贴其他的代码了:g = sns.jointplot(x1, x2, kind="kde", size=7, space=0)
这还有个更炫酷的可交互式的绘图,大家自己戳开看吧哼哼,完爆了吧~~~~\(≧▽≦)/~
入睡失败,排版强迫星人乱入歪题,安利一下自己的绘图思路和经历。论文插图终归是内容导向,数据少/逻辑简单很难画出炫酷的图;专业图尽量用对应的专业软件画;大力出奇迹,插图最终效果跟投入的时间成本(学习软件+绘制+调试)成正比,只要耐心好学多尝试,哪怕MS的Office系列也不会让你失望;绘图最重要的是专业性,其次关注“矢量+配色+字体+布局”;有时瓶颈在于思路而非工具,做科研的多浏览Nature和Science,有很多值得借鉴的绘图方案;有精力就再去学学AI和PS吧,后期如虎添翼。按时间倒序和使用频率介绍我主要使用的绘图软件,专业相关度较高。图片引用来源均已标明,其余为自己绘制,如有侵权麻烦告知(图片放大观看可还原绘图软件输出效果)。1. gnuplot刚完成的硕士论文主要用了LaTeX+gnuplot,gnuplot胜在免费、绘图效果清爽、专业认可,输出终端多样化,插值优化做得也不错,用下来感觉基本可替代Matlab系和Origin,学习成本不低。简单的2D图可以画成这样复杂一点的信息图/3D函数/极坐标图/pm3d自然也不在话下推荐博客的教程,非常适合新手快速入门。图片来源:图片来源:2. PowerPoint只有想不到,没有画不了,比起其他软件现成的模型模块,用PowerPoint造轮子的优点在于细节由自己掌控。学习成本低,个人发挥空间大!反应器示意图用简单的形状和线条拼接,自由度高,细节突出(恩,我就是不习惯用Visio)。这张构图有参照对象,绘图时间控制在半小时左右。原理示意图PowerPoint作图方式胜在可视化、直观和简便,可量产各种扁平化(个人喜好)示意图。Nature、Science上的插图偏立体风,通过多图形多色块套用和“填充效果”中的“渐变”即可实现(参数怎么调很考究)。下面这张只花了十分钟,要进一步改进可细化DNA结构,再给通道中的截面加上多重线性渐变。Nature、Science上的插图偏立体风,通过多图形多色块套用和“填充效果”中的“渐变”即可实现(参数怎么调很考究)。下面这张只花了十分钟,要进一步改进可细化DNA结构,再给通道中的截面加上多重线性渐变。彩色信息图如果需要用多色块表达内容,在协调颜色搭配时Office的优势尽显(用命令行和RGB代码调试的懂我)。多内容拼接下面这张幻灯片用Origin作图+PowerPoint拼装,内容不打码,论文已发Metabolic Engineering。3. Origin使用时间最长的数据绘图软件,在普通工科院系Origin就是专业论文绘图标配。功能丰富全面,多图层在2D数据处理上非常实用(3D的没画过),简单画画容易上手,深入之后学习曲线开始变得平缓。由于渲染效果和自由度的限制,画出的图都有一种标志性的浓郁的Origin风。操作系统不太友好、易崩溃,只支持Windows系统。学习成本中等!图片来源:图片来源:重申一遍,图层叠加+矢量图输出+可视化操作足以满足工科生基本需求了,贪多嚼不烂。4. Matlab工科生必备软件,工具包实在强大,数学实验、反应模拟、系统优化各种课程都离不开它。但在绘图方面硬伤也很明显,锯齿现象明显、字体/坐标轴和3D配色简直要逼死强迫症……研究生阶段搞定优化大作业拿了前3%后就把Matlab扔了。学习成本中等!恩,matlab的画风大家都很熟悉了。图片来源:图片来源:5. 提到Matlab就想起了本科虐人的COMSOL和化学反应工程模块,也印证了文首观点“专业图要用专业软件”,COMSOL的强大在于多场耦合功能突出和各种自定义PDE方程、边界和平衡条件设置简便,系统相对友好(并不)。我最好的朋友出国前把他的真传——一本砖头那么厚的COMSOL tutorial送给了我,后来我再也没做过仿真模拟,而他去了美国的COMSOL工作(这才是我安利的原因,Doge脸),下图是本科做过的一个案例,自己的图找不到了……学习成本高!图片来源:图片来源:6. Circos最近新上手的利器,为绘制全基因组特征圈图而生的信息图软件,实际上可用来画各种圈状信息图,功能强大令人咋舌,配色美观耐看(开发者毕竟是专职摄影师),不太方便的是需要安装Perl运行,学习成本中等,国内教程少。恩,简陋版的是我的论文图片。恩,简陋版的是我的论文图片。图片来源:7. SnapGene画质粒的软件用过不少,SimVector/Plasmid Processor/pDRAW32/Gene Construction Kit/Ape等等,从功能集成和输出效果来看,还是SnapGene更胜一筹,操作设计也做得很赞,学习成本低。商业化质粒可直接查询,细节做得相当考究,可编辑余地适中。8. 化学式绘图软件优先级:ChemDraw&tikz的chemfig包 &PowerPoint(黑历史),学习成本低。补充一句,下面第一张分子式是我组会报告上画的,键角键长不符合正式投稿的美国化学会(ACS)期刊的化学式统一格式——ACS1996标准,使用ChemDraw的话直接在“file”或者“object”中选择“Apply object settings from”选项则可一键改成ACS1996和其他一些杂志要求的标准格式。9. 统计类可视化软件根据google scholar数据统计,2005年之后SPSS和SAS的使用热度都跌得厉害,R和STATA则呈抬头之势(讽刺的是这张统计图是用ggplot2画的)。ggplot2绘图效果请参见本问题其他回答,因为没学/用过在此不作任何评价,谢知友提醒。图片来源:图片来源:本科阶段做项目和作业用过STATA,估计工作后会用SAS。STATA的统计回归功能相对强大,但可视化做得实在难以恭维,在官网上随便扒个图来感受下。学习成本中等!图片来源:图片来源:SAS等学了之后再填坑。10. 化工流程模拟软件Aspen Plus和HYSYS都用过,后者上手明显比前者容易,但做出来的图肯定跟美观不沾边啦,就是专业的模拟可视化软件,学习成本高!放在这就是为了说明化工和化学不是一回事!化工和化学不是一回事!重要的事情要说两遍!Aspen Plus 流程图来源:Aspen Plus 流程图来源:HYSYS流程图来源:HYSYS流程图来源:AutoCAD只学了一学期,晶体/蛋白立体结构主要用RASMOL,略过不提。估计毕业之后就很难有机会再用到上面大部分软件了(关键也用不起),本答案权作纪念,感谢阅读。
开头放颗爱心吧,图片是我自己用 LaTex 编译得到的,代码来自再放一个今天刚看到的多米诺的图,觉得超赞,代码来自再放一个今天刚看到的多米诺的图,觉得超赞,代码来自。以上just for fun。我认为,在如何在论文里画图的问题下面,没有人重视 LaTex 是一件不合理的事情。LaTex 在学术界的流行程度之广是不容置疑的,你敢说你投论文从来没用过 LaTex?期刊没有要求过你提交 Tex 源码?那么使用 LaTex 原生支持的图包来画论文中的插图是一件很自然的事情,况且,它的绘图工具库 (pgfplots) 也没有很难学。另外,从上的问答内容的丰富程度来看,在世界范围内,LaTex 还是很流行的。这个答案不打算很详细地教你如何入门,但我会给一些很简单很基础的例子来告诉你怎么用 LaTex 的代码画出基本的图形来。至于更复杂的例子,就看你自己啦,网上的 LaTex 资源是非常丰富的。对于我来说,只要有
就足够回答我几乎所有的 LaTex 日常编码及 pgfplots 的问题了(你么有看错,不用 google 也行,反正你 google 到的大多也是
的问答页面)。下面我会先说一下代码量的问题,因为在很多人提到 LaTex 的绘图代码量大。接着,我会说一下代码可读性的问题,我认为 LaTex 的 pgfplots 的绘图代码的可读性优于 python 的 matplotlib,我会举一个简单的例子来说明。如果你把这个例子看完,事实上也已经掌握了用 Latex 来绘制简单的函数图形的方法。然后,由于很多人肯定会关心如何根据已有的数据来绘制图形的问题,比如绘制某段时间的温度变化曲线之类,所以,我会再介绍一下用 LaTex 读取数据文件并绘制成曲线图的方法。我相信你读完这些内容之后会发现,其实用 LaTex 画图,上手也很容易,没有编程基础的话也没有很大难度。你会发现 LaTex 的 pgfplots 包中有很多设定都是对初学者很温馨的。最后,我会给出更多的效果图。当然当然,我这里说的肯定是片面的,因为我在努力地夸 LaTex。事实当然是它也有很多缺点,但因为大多数人都对它有偏见,所以我想多夸夸它会更有意义些。1. 代码量很多人似乎觉得 LaTex 的画图代码量很大,是的,我这里贴的一些图的代码量确实很大,但是,你要和其它画图方式相比较的话,总得找一样的例子吧,下面我给一个很简单的例子来比较一下用 LaTex 的 pgfplots 画图和用 python 的 matplotlib 来画图的代码。首先是 matplotlib 的。import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10)
line, = plt.plot(x, np.sin(x), '--', linewidth=2)
dashes = [10, 5, 100, 5] # 10 points on, 5 off, 100 on, 5 off
line.set_dashes(dashes)
plt.show()
接着是 pgfplots 的。\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot [dash pattern=on 10 off 5 on 100 off 5, domain=0:10, samples=100, very thick, blue] {sin(deg(x))};
\end{axis}
\end{tikzpicture}
\end{document}
看,代码量没什么太大差距吧。2. 代码可读性其实,除了代码量以外还有一个很重要的问题需要考虑,就是学习曲线。是的,在这个 LaTex 的学习曲线很陡峭已经几乎被公认的年代里,我居然会说我们可以来比一下学习曲线。LaTex 的这个 pgfplots 真的很难学吗?下面我们来看一下上面给的这两段代码吧,我想说的其实是,LaTex 的这段画图代码对于初学者来说,可读性会比 python 更好,因为你不用看文档就能够大致猜到 LaTex 代码的含义。我们一行一行地看看绘图有关的代码。先来看看 LaTex 的。\begin{tikzpicture}
虽然 tikz 不知道是什么意思,但是 begin 和 picture 我知道,所以我猜这是要开始画图了。\begin{axis}
axis 的意思是坐标轴,恩,我猜这是要画坐标轴。\addplot [dash pattern=on 10pt off 5pt on 100pt off 5pt, domain=0:10, samples=100, very thick] {sin(deg(x))};
plot,这个词我在韦伯词典里查到它的意思是:3 a: to locate (a point) by means of coordinates b:
to locate (a curve) by plotted points c: to represent (an
equation) by means of a curve so constructed。所以理解应该没难度吧。dash pattern,明显是要指定虚线样式的节奏,后面跟了个 on 10pt off 5pt on 100pt off 5pt,on和 off 是什么?好像虚线就是画一段空一段嘛,所以大概这个 on 就表示画一段的意思,off 就表示空一段的意思,那么后面的数字应该就是这一段的长度了。domain=0:10,这似乎表示某个域的大小,一般来说,如果我们要画的是一条由某个函数表示的曲线的话,很可能需要关心的域是x的域。samples=100,任何一条曲线在画的时候,实际上都是需要采样 (sample) 的,那么这里的意思很可能就应该是采样点数量的意思。very thick,很粗?是的,这就是表示粗细,是什么东西的粗细呢?你画曲线的时候最关心的是什么东西的粗细?我相信是曲线本身吧。而且,回过去看看这一行开头写的是 \addplot,所以应该也能猜到这里需要描述的对象是曲线。blue,很显然,就是画成蓝色的意思。最后再看 sin(deg(x)),sin 大家都知道是什么意思,deg 似乎要想一下,恩...degree 大家都很常用吧,所以这里的意思似乎就是把x转换成角度的意思,所以,这个图的横坐标应该表示的是弧度。然后是两个 \end,意思应该也很容易猜到。现在我们来看 python 的代码,请注意,假设你是一个不会写代码的人。x = np.linspace(0, 10)
我知道 x 可能是曲线方程的自变量,但是 np 是个啥?下面加个点是什么意思?linspace 可能是 line space 的意思,但是 line space 是什么意思?大概是线的绘制空间吧。你觉得 pgfplots 里用的关键字 domain 和这里的 linspace ,哪个更容易被理解成 x 的取值范围?line, = plt.plot(x, np.sin(x), '--', linewidth=2)
我们不说 line 后面那个逗号和等号。plt.plot,似乎就是要画个什么曲线图的意思(主要是 plot 可以看懂)。后面的 x ,我大概能理解,因为上面说 x 等于某个 linspace,所以这里大概也是值linspace。np.sin(x),不管 np 是什么意思吧,sin(x) 还是能理解的。然后,你说 '--' 是什么意思?linewidth=2,这个很好理解,应该是线的宽度。不过我不知道2到底是有多宽,比方说它和坐标轴的粗细比,哪个宽?很多时候我们需要画出来看看才行。LaTex 里用的是 very thick 这样的词,所以我们会猜到它是比一般的线要粗很多的。dashes = [10, 5, 100, 5] # 10 points on, 5 off, 100 on, 5 off
dashes 是虚线的意思。但是后面中括号里的东西就比较难理解了,如果没有#后面的注释的话。再者,你看#后面的这段注释,是不是感觉和 LaTex 里的代码很像?所以哪段代码更容易理解应该很显然了吧。而且,如果不看这段注释,你知道第一个 10 表示的 on 还是 off 吗?3. 数据文件有很多人提到数据管理的问题。如果我没理解错,那么关键的问题就是如何利用存储在文件中的数据来画图。这一点,LaTex 完全可以做到。用 LaTex 最方便地可以读取的数据格式是纯文本数据,比如你有一个二维点的数组,你可以存成这样:1 -1.52 3.43 2.24 0.95 0.46 4.17 7.08 4.89 2.9我现在有一个365天的气温数据文件 temperaturesOslo.txt (这个文件来自),其中的365个数据是按照上面的格式存储的,读取这个文件并绘制出来的代码很简单:\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot [mark = none, blue] table {temperaturesOslo.txt};
\end{axis}
\end{tikzpicture}
\end{document}
这段代码中,除了那些和环境设定相关的代码,关键的绘制代码就只有一行\addplot [mark = none, blue] table {temperaturesOslo.txt};
绘制的结果是数据文件中,数据的分隔符并不一定要用空格,可以自定义,使用逗号什么的也没问题,当默认读取失败时,可以在代码中注明你实际使用的分隔符。有人也提到和 MATLAB 的数据互通问题,MATLAB 保存的 .mat 文件 LaTex 读取起来不是很方便(应该有一些 LaTex 的库可以做到),主要是因为 .mat 文件是个二进制文件。但有一个变通的更简单的办法,因为 MATLAB 也可以很容易地把数据保存成纯文本的格式。假设我有一个 MATLAB 矩阵 mymatrix,将其保存成纯文本格式的代码是save('myfile.txt', 'mymatrix', '-ascii','-double');
得到的 myfile.txt 中的数据的格式就和我上面给出的数据格式相同。4. 更多效果图受不鸟了,居然几乎木有 LaTex 的图,我来贴。下面所有的图都来自,每张图下面都有源码所在的页面地址。首先是和问题中给的图比较接近的点阵图经典的函数曲线,不管是离散点还是直接用function三维的网络结构也没问题经典物理力学化学的元素周期表也是可以的电路如果你想要一个示波器光学分形也没什么啦有了分形,即使是圣诞树也是有可能的手绘风格还有Art可能,理论上说,其它工具也可以画出这些图,但是,我怀疑它们是否有一个和 LaTex 媲美的社区,提供这么多丰富的资源和代码。LaTex 还有一个和stackoverflow媲美的问答网站,我日常工作中会遇到的 LaTex 相关的问题的答案,都可以在这里找到
大家都理解错了嘛~楼主问的是论文里怎么才能画出精美的插图。顶在最前面的Python、Matlab等软件虽然能准确画各种常见图,但是从美术角度来看不及格好吗!最让人吐槽的就是这俩的配色!看看直方图那丑陋的配色!函数图难看的等高线!一点都不精美!要比高端大气上档次,本页所有答案完全不是R的ggplot2包的对手嘛~以前我也用Matlab,自从遇到ggplot2之后就彻底成为脑残粉了!ggplot2是R的一个package,画图风格相当文艺小清新。看论文看到用ggplot2画图都是一种享受哦!极为擅长于数据可视化。可惜ggplot2功能没有Python或者Matlab全面,画不出稀奇古怪的电路图不支持三维立体图像哦~不过作为一个统计绘图软件那些功能也不算很重要啦。ggplot2有一个最大的特点是引入了图层的概念,各位用过Photoshop应该能理解吧?你可以随心所欲将各种基本的图叠加起来显示在一张图上,构造出各种各样新奇的图片!先来一个最基础的散点图开胃。这是不调颜色软件包默认的配色。灰色的背景,黑色的小点点。拟合曲线和置信域看着就很舒服嘛。先来一个最基础的散点图开胃。这是不调颜色软件包默认的配色。灰色的背景,黑色的小点点。拟合曲线和置信域看着就很舒服嘛。来看看直方图,和傻大黑粗的Matlab相比精致秀气多啦!来看看直方图,和傻大黑粗的Matlab相比精致秀气多啦!还有精致的半透明效果!还有精致的半透明效果!折线图画得美到极致了好吗!柱状图+密度!柱状图+密度!Heat Map!这么乱糟糟的线也画得好清新!ggplot2能把密密麻麻的散点图画的极具美感,彻底治愈密集恐惧症!还可以画地图!把非洲画得这么美我都想去了好吗!还可以画地图!把非洲画得这么美我都想去了好吗!Network也能画!Network也能画!散点图+误差区间!散点图+误差区间!极坐标柱状图!极坐标柱状图!
如果你用 LaTeX 的话,推荐学一下 PGF/TikZ [1]。好处是直接在 LaTeX 文件中用命令绘制需要的各种图形,是我目前见过的最好的 LaTeX 图文混排工具。比如其他答案提到的工具的一个共同问题是图形和文档是分开制作的,图形中的文字和文档中的文字的字体和字号不一样。PGF/TikZ 就没有这个问题,工作原理不通。缺点是和 LaTeX 一样,学习曲线比较陡……[1]:
工科生说Matlab完爆其他数学系的说Mathematica高贵冷艳统计系的说R语言作图领域天下无敌 计算机系的说Python低调奢华有内涵…………
感觉乃们回答都曲解楼主的问题了吧……撸主摆出来的例子是“示意图”,不是“数据图”。所以撸主才加了一句“好吧,我承认有些不那么绚烂”,意思估计是说并不是追求data visualization那么牛逼闪闪的效果,而是给人一种幽幽的酷炫碉堡的感觉。如果没理解错的话,画示意图最好的工具就是visio了吧;曲解了的话,权当给大家做个补充。个人认为visio画示意图最重要的有两点,一是如何清晰表达概念,二是如何清晰的呈现图像。前者跟论文作者对所画示意图要表达知识内容的理解深度有关。对初学者来说,要想表现出自己对这幅图所表达的知识理解得比较透彻,一个简单的方法是提高图片的信息量。举个栗子,拿撸主摆出来的图片来说,一幅图里其实表达了好几部分内容,如,不同cell在阵列中的排列规则,n/n+1所表示的特性曲线,IP/BI(什么东西?=。=)之间的关系等等。这样一来,对论文的读者来说,这幅图就很好的传达了作者对知识的理解程度,细节的呈现也加深了读者对理论的印象,给人以“高大上”的感觉。当然,进阶到高级阶段,无脑线性堆叠信息量就未必能起到预期的效果了。可能一些无关的细节需要作者根据自己提升了的知识水平进行修剪,让图片看起来不仅信息丰富,而且简洁美观。另一点是提高图像的清晰度。无论是用MS Word或者LaTeX编辑论文,插入的图片都要保证很高的清晰度。对于读者来说,高质量的图片(假如不是矢量格式)即便是放大很多倍也还是可以清晰的看出来图片中的细节。因为个人偏好LaTeX,所以visio画好的图片一般会转成eps格式再插入论文。这样一来,即使是细节再丰富、信息量再巨大的图片,放在论文中也可以清晰的显示出来。在这里分享几个插入高质量图片的方法,不足之处欢迎指正。1. visio转eps&方法一& 简单粗暴control c control v把visio图片复制到adobe illustrator (AI)里,转成eps即可。&方法二& 另存visio图片为pdf格式,用pdf2eps等工具转换成eps格式图片;&方法三& 安装universal printer,把visio图片打印成ps格式文件,然后用ghostscript转换成eps格式文件。简评:第一种方法最简单,但有个问题是,visio里图片的颜色、填充等属性在转换之后可能会有意想不到的变化;后两种方法不会出现图片属性改变的问题,但相对略繁琐。2. eps转wmf或png用powerpoint做presentation的时候,eps格式的图片无法直接插入,肿么办?&情况一& 如果该eps文件是visio转的,直接在powerpoint中插入object,搜索visio文件即可得到高清晰的图片;&情况二& 如果该eps文件是数据画图工具(MATLAB,origin等)直接生成的,可将该文件在AI中打开,文件中找save for windows选项,保存成png格式差不过就是位图能达到的最清晰的效果了。以上是个人对画示意图的理解以及一些小经验的分享。至于数据图,楼上众神已经总结了很多很好的办法了。除此之外,学术论文插图的技巧还有很多。欢迎大家继续讨论和补充。
现今严谨的学术圈流行的:PGF/TikZ:定性图,精细示意图,简单定量图,数据图表Asymptote:复杂定量图,三维矢量图另外还有历史悠久的MetaPost和PSTricks,但总的来说完全可以被以上两个更优秀的后辈替代。楼主列的这些图,是TikZ的专长,用TikZ画可以做到完美,特别是与LaTeX文档的整体交互,比用一般绘图软件好得多。例如字体匹配,与正文的参数传递,对图的模块化引用等。缺点是学习曲线过陡,非排版强迫症患者坚持不下来。除了画数据图表的子集pgfplots可以分分钟速成外,PGF/TikZ的其他功能,上手需要一两个星期不停地钻研,精通则需要一两年。至于Asymptote,表达力强,效果碉堡,你可以把它当成封装了高级绘图命令,然后输出矢量图的OpenGL。它对编程能力的要求同样很高。
我们常用Illustrator对图形进行很好的编辑,还可以画一些漂亮的示意图。
XfigTikz/PGFOmniGraffleInkscapeDiaGraphvizGeoGebraipeMahtematicaconceptdraw
自己一般用Mathematica画图,不过也想无责任推荐一下Processing:
题主应该明确的是,科技论文中使用的图绝大多数都是矢量图。制作矢量图的工具很多,从无需编程的 inkscape 或 illustrator 到全靠代码的 GNUPlot 和 TiKZ 都可作出所需的图,关键在于要在你对图片质量的需求和愿意花费的学习/时间成本找到平衡点。另外补充一个,Asymptote 是个很好的绘图语言。
請允許我重複回答一下、吧!美好的 R ggplot2 包 絕對值得被重複提起嗯!複雜的和美麗的荔紙多得無以附加,其實也許你需要一些更切實的應用,比如多圖對比。下面的圖例摘自網絡,數據來自 ,做的是 191 個國家 2000年 GDP per capita 與 Polity score of democracy 的散點圖。先看個用 lattice 包的圖例:再來看用 ggplot2 的效果:且不說美不美,是不是立刻感覺信息量大了起來、解釋起來會更輕鬆?嗯,我的碩士論文裡也用了類似上圖的圖例,比較了六個箱圖。好東西就要廣而告之。相信我!
各位科学家们,我虽然无法看懂你们的专业论文中的插图,但是我作为一个助人为乐的设计师,常常帮助你们这样的专业人士“美化”插图。例如:很多时候,被“美化“插图的原作者,都会感觉到,新图和原图的差别。虽然这些图中的内容,是我不了解的知识,但是并不阻碍我通过制图软件把图做漂亮。漂亮的图和丑陋的图的区别:1.均匀的线条有时候科学家们从这里抓一个图,那里生成一个图,每个图因为放大缩小的关系,线条都变得粗细不同,这样不会好看的。我修改的第一步一般是把所有线条变成一样粗细。2.有规划的色彩同理,如果色彩纷乱,没有规划,看上去也会大打折扣。所以建议一开始就对色彩进行一个规划,多图都统一一下色调。3.统一的图形语言这里是锐利的形状,那里又是温柔的圆角,另外一个地方居然是三维的,这就好比论文第一段和第二段的语言风格不一样,这样可不行。一定要用同一种图形语言来制图。就算全部用儿童手绘效果,也比参杂了水平不同的各种图形语言要强啊。好啦,作为经常帮人美化插图的人,我也只能从图的角度随便说一说。其实,如果图的内容是正确的,想要图好看最主要要提高的能力绝对不是制图能力,而是审美能力。当你能够清楚地知道好看是怎么实现的,什么样的东西不好看的时候,你就能够轻松地运用自己熟悉的软件,制作出非常好的插图啦。如果有什么问题可以评论问我,我可以从设计的角度和科学家们一起探讨。
推荐一个小型软件,一般作图够用了
你能相信以下的图表采用的是完全傻瓜式只做方法:美图秀秀+JPG素材+数据统计 完成的吗?1.浮动数据插图2.饼形与柱形数据插图方法很简单:1,收集好数据 2,收集扁平化图表素材 3,美图秀秀拼接混搭 另外理工类数据插图推荐用简洁黑色轮廓配白底CAD构成画出,非常的美观好看。
GMT地球科学,尤其是地球物理学中最常用的开源绘图软件
先上结论:不用Excel,用Matlab, Visio, Mathematica, WolframAlpha等工具绘图。可尝试学习 、 Pixelmator 、 GeoGebra工具进行比较学习。————————解释说明分割线——————————Excel:在我有限的科研生涯中,用Excel几乎是不专业的代名词,从来没有看到Excel下画出的优美漂亮的图表,所以我至少是使用Matlab或者Mathematica作图,后者还在学习中。Matlab:Matlab的使用是将Excel中的数据以矩阵形式导入到Matlab的向量空间中,然后用Plot函数等其他作图的函数作出基本的图形以后,用菜单上选择Plot Toolkit工具(具体名字我忘了)对函数曲线中的表头、图例、箭头指示、参考线等进行微调。效果如下(自己做的真是渣啊= =):Visio:像下面这种简单的图形绘制,利用各种基本图形如线条、箭头和弧线,再善于利用Visio的对齐功能,就可以作出比较漂亮的图形,注意变量的格式规范如斜体、字体用Times New Roman字体,另外流程图用Visio绘制最佳。流程图一般用Visio,遵循设计的基本原则如对齐与保持大小一致。WolframAlpha:神器中的神器,除了计算功能强大,画出的函数图像也相当优美,画函数图象的时候直接输入函数图像即可自动生成,效果如下:接下来由请大神出场: 在他的博客中提到Q: 你的 Blog 配图都好精致!究竟是用什么画图的呢?A: 我用
、 Pixelmator 、 Mathematica 、 GeoGebra 等工具画图。配图的秘诀就是背景透明化、图形反锯齿化、注重色彩、多用 png 、图内字体大小与正文一致。以下是图形范例:以上。

我要回帖

更多关于 做logo用什么软件 的文章

 

随机推荐