前言

强烈推荐 Python 的绘图模块 matplotlib: python plotting 。画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢量的各种绘图。能够保存成从 eps, pdf 到 svg, png, jpg 的多种格式。

(文末送读者福利)

并且 Matplotlib 的绘图函数基本上都与 Matlab 的绘图函数名字都差不多,迁移的学习成本比较低。开源免费。如图所示(题目描述中的图在最后):(以下图片均引用自 Thumbnail gallery )

像这种普通的函数图象:


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公式的插入,当别人画的图还是这个样子的时候(以下图片引用自Matplotlib Tutorial(译))


你能够把它变成这个样子:


如果再搭配上 IPython 作为运行终端(这张图是自己绘制的~):


简直就是神器啊,有木有!

心动不如行动,还等什么?

再补充一句,matplotlib 还可以话 xkcd 风格的图呦~


此外结合 IPython Notebook 后更多精彩内容,请看http://nbviewer.ipython.org/

如果嫌安装麻烦并且恰好在 Windows 系统下的话可以尝试Python的一个发行版winpython - Portable Scientific Python 2/3 32/64bit Distribution for Windows。

鉴于有同学质疑 matplotlib 是否能画出题目中所示的图像,我在这里将题目中的图像用 matplotlib 画出来如下:


代码在此处:https://gist.github.com/coldfog/c479124328fc6bb8b789


代码在此处:https://gist.github.com/coldfog/5da63a6958fc0a949b52

看到楼下有人说配色和好看,唉…那我也贴几个吧…只不过当初限于篇幅没有写而已。

首先,python有一个专门的配色包jiffyclub/brewer2mpl,提供了从美术角度来讲的精美配色(戳这里感受ColorBrewer: Color Advice for Maps)。

此外还有一些致力于美化绘图的库,用起来也都非常方便,比如olgabot/prettyplotlib 。

废话不多说,上图就是王道。(下面图片来源网络)




有人可能会说需要复杂的设置,其实也不用。比如上边这幅图,只需要多加一个参数就好:

cmap=brewer2mpl.get_map(‘RdBu’, ‘diverging’, 8, reverse=True).mpl_colormap,
楼下说到统计绘图。嘛seaborn 是一个调用 matplotlib 的统计绘图库,上图:(https://github.com/mwaskom/seaborn)


代码一行,后边的几乎都是一行,没做其他设置,默认就这样。我就不贴其他的代码了:

g = sns.jointplot(x1, x2, kind=“kde”, size=7, space=0)






还有个更炫酷的可交互式绘图,大家自己戳开看吧:

http://nbviewer.ipython.org/github/plotly/python-user-guidechaocc/blob/master/s0_getting-started/s0_getting-started.ipynb

遇到安装问题的请尝试Anaconda这个Python发行版。下载安装后直接使用即可,它几乎预装了所有要用到的科学计算及可视化的库。

读者福利:知道你对Python感兴趣,便准备了这套python学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

教你用Python绘制炫酷专业插图相关推荐

  1. 就是这么牛逼,利用Python绘制炫酷专业插图就是这么简单

    强烈推荐 Python 的绘图模块 matplotlib: python plotting .画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢量的各种绘图.能够保 ...

  2. 用python绘制柱状图标题-Python笔记:用Python绘制炫酷的柱形图

    bar = ( Bar() .add_xaxis(x_vals) .add_yaxis("广州门店", [random.randint(10, 100) for _ in rang ...

  3. 用python画皇冠_手把手教你用 Python 绘制酷炫的桑基图!

    原标题:手把手教你用 Python 绘制酷炫的桑基图! 作者 | 周志鹏 责编 | 郭 芮 最近,不止一次收到小伙伴的截图追问: "这个图叫什么???" "这个图真好看! ...

  4. 【python教程入门学习】Python新年炫酷烟花秀代码

    先介绍下 Pygame 绘制烟花的基本原理,烟花从发射到绽放一共分为三个阶段: 1,发射阶段:在这一阶段烟花的形状是线性向上,通过设定一组大小不同.颜色不同的点来模拟"向上发射" ...

  5. 出彩的毕业论文岂能没有几张炫酷图表???(来看一下matplotlib怎样绘制炫酷表格)(上)

    不知不觉在家已经待了三个多月,其他年级还好,在家写论文的小伙伴们不知进展如何?想要写一篇出彩得到导师赏识的文章,里面还能少得了几张炫酷的图表?这篇博客将写一下怎样用Python中matplotlib包 ...

  6. 如何利用pyecharts绘制炫酷的关系网络图?

    如何利用pyecharts绘制炫酷的关系网络图 这是本学期在大数据哲学与社会科学实验室做的第六次分享了. 第一次分享的是: 如何利用"wordcloud+jieba"制作中文词云? ...

  7. python实现炫酷字母雨

    python实现炫酷字母雨 import random, pygamePANEL_width = 800 PANEL_highly = 500 FONT_PX = 15 pygame.init() # ...

  8. 使用R包networkD3绘制炫酷的动态关系网络

    引言 在数据可视化领域,关系网络数据的可视化一直是一个受到广泛关注的话题. 我们经常会看到这样的复杂网络关系图. 也会经常看到一些影视作品的人物关系图,例如: 我们可以从图中清晰地了解到不同人物之间的 ...

  9. 用 Python 生成炫酷二维码及解析

    用 Python 生成炫酷二维码及解析 我们通过 Python 生成以及识别二维码需要用到的库为:qrcode.myqr.zxing, 安装通过 pip install qrcode/myqr/zxi ...

最新文章

  1. Horizon Is Easy, Horizon Is Complex
  2. linux 命令 —-— vi编辑器
  3. 基于单片机的简单的任务调度器
  4. CSS设置图片的重复
  5. 基于注释的Spring Security实战
  6. adb shell命令_[Android]adb的使用
  7. 开源虚拟示波器-_一个新的开源数据库,TP-Link路由器上的开源固件以及更多新闻
  8. java输入某年某个季度_Java获取某年某季度的第一天出错
  9. readonly于disable的区别 及 name和id的区别
  10. 第一讲 linux简介
  11. cocos2dx截整屏、截部分屏
  12. 那些年我们一起上过的黑客网站
  13. java动态表头_easyPOI动态表头
  14. SQL 注入的资料,快速查表大全
  15. python 获取股市数据 baostock + 画K线图 mpl_finance
  16. win server 2016 无法安转.net framework 3.5 问题
  17. 模拟器连接本地服务器
  18. IRPT_TAS用户协议
  19. mysql重新设置主键生成策略为auto_increment时报错:resulting in duplicate entry '1' for key 'PRIMARY'
  20. SAP消耗性物料采购前台操作及后台配置

热门文章

  1. scaling之旅_【scaling】什么意思_英语scaling的翻译_音标_读音_用法_例句_在线翻译_有道词典...
  2. 苹果手机群控 ios免越狱中控 非越狱脚本高清投屏
  3. php+矩阵,PHP实现简单矩阵算法
  4. 苹果终端date命令_mac终端常用命令
  5. 财务工具 - 编写一个等额本息反推利率的计算器
  6. 关于我对网赚的思路,赚钱的方法透露
  7. html表格列表模板,前端基础 - HTML(二) 表格、表单、列表
  8. 最小生成树——克鲁斯卡尔(Kruskal)算法
  9. 培训班H5宣传单怎么做?快进来拿方案~
  10. 用文本编辑器编译cs文件