教你用Python绘制炫酷专业插图
前言
强烈推荐 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绘制炫酷专业插图相关推荐
- 就是这么牛逼,利用Python绘制炫酷专业插图就是这么简单
强烈推荐 Python 的绘图模块 matplotlib: python plotting .画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢量的各种绘图.能够保 ...
- 用python绘制柱状图标题-Python笔记:用Python绘制炫酷的柱形图
bar = ( Bar() .add_xaxis(x_vals) .add_yaxis("广州门店", [random.randint(10, 100) for _ in rang ...
- 用python画皇冠_手把手教你用 Python 绘制酷炫的桑基图!
原标题:手把手教你用 Python 绘制酷炫的桑基图! 作者 | 周志鹏 责编 | 郭 芮 最近,不止一次收到小伙伴的截图追问: "这个图叫什么???" "这个图真好看! ...
- 【python教程入门学习】Python新年炫酷烟花秀代码
先介绍下 Pygame 绘制烟花的基本原理,烟花从发射到绽放一共分为三个阶段: 1,发射阶段:在这一阶段烟花的形状是线性向上,通过设定一组大小不同.颜色不同的点来模拟"向上发射" ...
- 出彩的毕业论文岂能没有几张炫酷图表???(来看一下matplotlib怎样绘制炫酷表格)(上)
不知不觉在家已经待了三个多月,其他年级还好,在家写论文的小伙伴们不知进展如何?想要写一篇出彩得到导师赏识的文章,里面还能少得了几张炫酷的图表?这篇博客将写一下怎样用Python中matplotlib包 ...
- 如何利用pyecharts绘制炫酷的关系网络图?
如何利用pyecharts绘制炫酷的关系网络图 这是本学期在大数据哲学与社会科学实验室做的第六次分享了. 第一次分享的是: 如何利用"wordcloud+jieba"制作中文词云? ...
- python实现炫酷字母雨
python实现炫酷字母雨 import random, pygamePANEL_width = 800 PANEL_highly = 500 FONT_PX = 15 pygame.init() # ...
- 使用R包networkD3绘制炫酷的动态关系网络
引言 在数据可视化领域,关系网络数据的可视化一直是一个受到广泛关注的话题. 我们经常会看到这样的复杂网络关系图. 也会经常看到一些影视作品的人物关系图,例如: 我们可以从图中清晰地了解到不同人物之间的 ...
- 用 Python 生成炫酷二维码及解析
用 Python 生成炫酷二维码及解析 我们通过 Python 生成以及识别二维码需要用到的库为:qrcode.myqr.zxing, 安装通过 pip install qrcode/myqr/zxi ...
最新文章
- Horizon Is Easy, Horizon Is Complex
- linux 命令 —-— vi编辑器
- 基于单片机的简单的任务调度器
- CSS设置图片的重复
- 基于注释的Spring Security实战
- adb shell命令_[Android]adb的使用
- 开源虚拟示波器-_一个新的开源数据库,TP-Link路由器上的开源固件以及更多新闻
- java输入某年某个季度_Java获取某年某季度的第一天出错
- readonly于disable的区别 及 name和id的区别
- 第一讲 linux简介
- cocos2dx截整屏、截部分屏
- 那些年我们一起上过的黑客网站
- java动态表头_easyPOI动态表头
- SQL 注入的资料,快速查表大全
- python 获取股市数据 baostock + 画K线图 mpl_finance
- win server 2016 无法安转.net framework 3.5 问题
- 模拟器连接本地服务器
- IRPT_TAS用户协议
- mysql重新设置主键生成策略为auto_increment时报错:resulting in duplicate entry '1' for key 'PRIMARY'
- SAP消耗性物料采购前台操作及后台配置
热门文章
- scaling之旅_【scaling】什么意思_英语scaling的翻译_音标_读音_用法_例句_在线翻译_有道词典...
- 苹果手机群控 ios免越狱中控 非越狱脚本高清投屏
- php+矩阵,PHP实现简单矩阵算法
- 苹果终端date命令_mac终端常用命令
- 财务工具 - 编写一个等额本息反推利率的计算器
- 关于我对网赚的思路,赚钱的方法透露
- html表格列表模板,前端基础 - HTML(二) 表格、表单、列表
- 最小生成树——克鲁斯卡尔(Kruskal)算法
- 培训班H5宣传单怎么做?快进来拿方案~
- 用文本编辑器编译cs文件
强烈推荐 Python 的绘图模块 matplotlib: python plotting .画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢量的各种绘图.能够保 ...
bar = ( Bar() .add_xaxis(x_vals) .add_yaxis("广州门店", [random.randint(10, 100) for _ in rang ...
原标题:手把手教你用 Python 绘制酷炫的桑基图! 作者 | 周志鹏 责编 | 郭 芮 最近,不止一次收到小伙伴的截图追问: "这个图叫什么???" "这个图真好看! ...
先介绍下 Pygame 绘制烟花的基本原理,烟花从发射到绽放一共分为三个阶段: 1,发射阶段:在这一阶段烟花的形状是线性向上,通过设定一组大小不同.颜色不同的点来模拟"向上发射" ...
不知不觉在家已经待了三个多月,其他年级还好,在家写论文的小伙伴们不知进展如何?想要写一篇出彩得到导师赏识的文章,里面还能少得了几张炫酷的图表?这篇博客将写一下怎样用Python中matplotlib包 ...
如何利用pyecharts绘制炫酷的关系网络图 这是本学期在大数据哲学与社会科学实验室做的第六次分享了. 第一次分享的是: 如何利用"wordcloud+jieba"制作中文词云? ...
python实现炫酷字母雨 import random, pygamePANEL_width = 800 PANEL_highly = 500 FONT_PX = 15 pygame.init() # ...
引言 在数据可视化领域,关系网络数据的可视化一直是一个受到广泛关注的话题. 我们经常会看到这样的复杂网络关系图. 也会经常看到一些影视作品的人物关系图,例如: 我们可以从图中清晰地了解到不同人物之间的 ...
用 Python 生成炫酷二维码及解析 我们通过 Python 生成以及识别二维码需要用到的库为:qrcode.myqr.zxing, 安装通过 pip install qrcode/myqr/zxi ...