matplotlib 代码风格
当查看 matplotlib 官方文档和示例时,你会发现不同的编码风格和使用模式。这些风格是完全有效的,各有其优缺点。
几乎所有的例子都可以转换成另一种风格,以实现相同的结果。当然,需要注意的是不要把自己的代码风格搞混。
两种不同的风格,都受官方支持。
下面是使用 matplotlib 的首选方式。首选 pyplot 风格,顶部的导入脚本通常是:
import matplotlib.pyplot as plt
import numpy as np
风格一:直接调用绘图函数,下面是一个简单的例子:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 10, 0.2)
y = np.sin(x)
plt.plot(x, y)
plt.show()
注意:这个示例使用了 pyplot 的状态机,自动地、隐式地创建一个图形figure和一个坐标系axes。
风格二:想要完全控制你的图形,以及更高级的用法,就需要使用 pyplot 的接口显式的创建图形figure,然后使用对象方法:
import matplotlib.pyplot as plt
import numpy as np x = np.arange(0, 10, 0.2)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y)
plt.show()
风格三:纯 matlab 风格的示例:
from pylab import * x = arange(0, 10, 0.2)
y = sin(x) plot(x, y)
show()
注意:pylab 已经集成了matplotlib,numpy,scipy!
下面再看看风格二的更极端的表现
为此,我们引入两个类: Figure和FigureCanvas。(如果不显式的引入,会自动的、隐式的引入)
from matplotlib.figure import Figure
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
import numpy as np x = np.arange(0, 10, 0.1)
y = np.sin(x) fig = Figure()
canvas = FigureCanvas(fig)
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) line, = ax.plot(x, y)
ax.set_title("a straight line (OO)")
ax.set_xlabel("x value")
ax.set_ylabel("y value") canvas.print_figure('demo.jpg')
注意:一般来说,这样显式的引入,很可能是为了把 matplotlib 绑定到tkinter,PyQt,wxPython等GUI中
matplotlib 代码风格的更多相关文章
- Python 代码风格
1 原则 在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要. 请记住可读性标准的目标是提升可读性.这些规则存在的目的就是为了帮助人读写代码,而不是相反. ...
- .NET 项目代码风格要求
原文:http://kb.cnblogs.com/page/179593/ 项目代码风格要求 PDF版下载:项目代码风格要求V1.0.pdf 代码风格没有正确与否,重要的是整齐划一,这是我拟的一份&l ...
- AngularJS之代码风格36条建议【一】(九)
前言 其实在新学一门知识时,我们应该注意下怎么书写代码更加规范,从开始就注意养成一个良好的习惯无论是对于bug的查找还是走人后别人熟悉代码都是非常好的,利人利己的事情何乐而不为呢,关于AngularJ ...
- Visual Studio Code 使用 ESLint 增强代码风格检查
前言 在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范.很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint.除了可以 ...
- plain framework 1 参考手册 入门指引之 代码风格
代码风格 介绍 介绍 框架自身采用了google的C++风格,作者也鼓励在你的应用中使用此风格,有关此风格你可以查阅相关资料了解.下面是一段plain framework中的代码,以便大家参考: 你可 ...
- 对 JimmyZhang 老师的文章《项目代码风格要求》的一些个人观点
Jimmy Zhang 老师是博客园中我最佩服的人之一,今天看了他的文章<项目代码风格要求>觉得大部分地方我都很认同,工作中也是强迫自己也要按照规范来编程.下面是我的一些个人观点,想贴出来 ...
- python代码风格-PEP8
转载自http://www.douban.com/note/134971609/ Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下 ...
- Google HTML/CSS代码风格指南(中文版)
原文链接:http://wncbl.cn/posts/c8e10815/ 看一下没什么印象,那就写一遍吧. 背景 本文档定义了HTML/CSS的编写格式和风格规则.它旨在提高合作和代码质量,并使其支持 ...
- .Net 项目代码风格要求小结
代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求>,供大家参考. 1. C# 代码风格要求1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. ...
随机推荐
- 用华为eNSP模拟器配置Hybrid、Trunk和Access三种链路类型端口
上一篇文章写到三层交换机实现多个VLAN之间互相通讯,有朋友提问要如何进行配置,可有案例分析.其实那天我在写的时候也有做过模拟,只是后来没有保存.今天重新模拟一次,并附上详细配置命令,希望能够帮助到大 ...
- 什么时候会执行viewDidLoad方法
什么时候会执行viewDidLoad方法 这个博文是为了解释,为何有时候,你给属性赋值,在viewDidLoad方法中却取不到值的原因. 第一种情况,presentViewController会执行被 ...
- Android混合式开发(Hybrid)
安卓混合式开发(Hybrid) 1 环境搭建 1.1 首先,下载 Android Studio (Intellij Idea) 下载地址:http://www.android-studio.org/ ...
- sql: having使用,及删除重复数据
写了好几年的sql,having语句基本上很少写,这就有一点尴尬了,现在总结一下having的作用,每日整理一下学习文档. having 通常伴随group by使用,过滤group by的数据集. ...
- 安装配置maven私服-nexus
1.ubuntu下的Bundle安装方式 1.1. 去官网下载安装包:http://www.sonatype.org/nexus/ 我这里下载的是:nexus-2.8.1-01-bundle.zip, ...
- Java虚拟机18:Java对象大小、对象内存布局及锁状态变化
一个对象占多少字节? 关于对象的大小,对于C/C++来说,都是有sizeof函数可以直接获取的,但是Java似乎没有这样的方法.不过还好,在JDK1.5之后引入了Instrumentation类,这个 ...
- centos6.2/6.3/6.4+nginx+mysql5.5+php5.3.14
一.安装所需软件包yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype free ...
- Kubernetes dashboard 配置
安装前准备 下载dashboard的yaml文件 wget -O kube-dashboard.yaml https://git.io/kube-dashboard-no-rbac 这个版本是没有权限 ...
- 解决django配合nginx部署后admin样式丢失
解决django配合nginx部署后admin样式丢失 1. 在项目的settings.py文件里添加以下内容: STATIC_URL = '/static/' STATICFILES_DIRS = ...
- Sequelize-nodejs-10-Hooks
Hooks钩子 Hooks (also known as lifecycle events), are functions which are called before and after call ...