当查看 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 代码风格的更多相关文章

  1. Python 代码风格

    1 原则 在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要. 请记住可读性标准的目标是提升可读性.这些规则存在的目的就是为了帮助人读写代码,而不是相反. ...

  2. .NET 项目代码风格要求

    原文:http://kb.cnblogs.com/page/179593/ 项目代码风格要求 PDF版下载:项目代码风格要求V1.0.pdf 代码风格没有正确与否,重要的是整齐划一,这是我拟的一份&l ...

  3. AngularJS之代码风格36条建议【一】(九)

    前言 其实在新学一门知识时,我们应该注意下怎么书写代码更加规范,从开始就注意养成一个良好的习惯无论是对于bug的查找还是走人后别人熟悉代码都是非常好的,利人利己的事情何乐而不为呢,关于AngularJ ...

  4. Visual Studio Code 使用 ESLint 增强代码风格检查

    前言 在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范.很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint.除了可以 ...

  5. plain framework 1 参考手册 入门指引之 代码风格

    代码风格 介绍 介绍 框架自身采用了google的C++风格,作者也鼓励在你的应用中使用此风格,有关此风格你可以查阅相关资料了解.下面是一段plain framework中的代码,以便大家参考: 你可 ...

  6. 对 JimmyZhang 老师的文章《项目代码风格要求》的一些个人观点

    Jimmy Zhang 老师是博客园中我最佩服的人之一,今天看了他的文章<项目代码风格要求>觉得大部分地方我都很认同,工作中也是强迫自己也要按照规范来编程.下面是我的一些个人观点,想贴出来 ...

  7. python代码风格-PEP8

    转载自http://www.douban.com/note/134971609/ Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下 ...

  8. Google HTML/CSS代码风格指南(中文版)

    原文链接:http://wncbl.cn/posts/c8e10815/ 看一下没什么印象,那就写一遍吧. 背景 本文档定义了HTML/CSS的编写格式和风格规则.它旨在提高合作和代码质量,并使其支持 ...

  9. .Net 项目代码风格要求小结

    代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求>,供大家参考. 1. C# 代码风格要求1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. ...

随机推荐

  1. docker的网络基础配置

    一.端口映射实现访问容器 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射.当使用-P标记时,Docker会随机映射一个49000~49900的端口至容器内部开放 ...

  2. java:通过Calendar类正确计算两日期之间的间隔

    在开发Android应用时偶然需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlit ...

  3. Linux 用户和用户组详解

    用户分类 超级用户:UID范围 0 root用户:uid=0(root) gid=0(root) groups=0(root) 普通用户:由管理员创建,UID范围(500-65535) --> ...

  4. 解决linux buffer/cache 消耗内存过高引发的问题

    工作中接到DBA报障某台服务器 跑一些大的数据,服务器就无法远程连接,报错,抓过日志叫DELL工程师检测也没问题,系统也重装过, 现在些一些较大的数据就会报如 图错误,由于服务器远在异地城市IDC机房 ...

  5. Skype for Business Server-呼叫质量仪表板(一)安装与配置

    第一篇:安装与配置 很多公司在运行过程中都遇到了难以追踪客服人员绩效的情况,公司没有有效的方法追踪员工在通过电话等远程方式解决客户问题.销售产品.客户关怀的情况.Skype for Business提 ...

  6. tomcat7换端口号调试

    1.C:\tomcat\conf\server.xml中修改端口号 2.C:\tomcat\bin\startup.bat批处理文件启动tomcat 3.用ctrl+c结束批处理文件 4.调试结束

  7. libc.so.6: cannot open shared object file: No such file or diretory

    环境 centos6.6. 由于误操作 删除了 rm -f /lib64/libc.so.6 导致其他命令不能使用 解决方法: /sbin/sln /lib64/libc-

  8. 反射工具类.提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,被AOP过的真实类等工具函数.java

    import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.ap ...

  9. 第一次项目冲刺(Alpha版本)2017/11/19

    一.当天站立式会议 会议内容 1.对数据库的设计的进一步讨论 2.讨论SSH一些配置细节 3.分配今天的任务 二.任务分解图 三.燃尽图 四.心得 1.零散的时间要利用起来,追上计划的进度. 2.在小 ...

  10. Eclipse解决运行、启动缓慢问题思路

    我的Eclipse近几天运行时速度奇慢,具体表现为: 1.只要ECLIPSE启动后,硬盘灯就狂闪,不停的读盘: 2.发布TOMCAT经常在0%: 3.偶尔CPU占满: 网上讲优化的文章无数,但是总是有 ...