Matplotlib:plotting(译)

感谢

非常感谢Bill Wing和Christoph Deil的审阅和更正。

作者:Nicolas Rougier, Mike Müller, Gaël Varoquaux

本章内容:

  • 介绍
  • 简单绘图
  • 图形,子图,轴线和刻度
  • 其他类型的图形:示例和练习
  • 教程之外的内容
  • 快速参考

4.1  介绍

Matplotlib可能是二维图形中最常用的Python包。它提供了一个非常快的可视化Pyhton数据的方法和许多可供发布的格式化图形。我们要以交互方式探索Matplotlib大多数常见情况。

4.1.1  IPython和Matplotlib模式

Ipython是一个增强的交互式Python Shell。它有许多有趣的功能,包括命名输入和输出、访问Shell命令、改进调试和更多内容。它是Pyhton中科学计算工作流的核心,与Matplotlib结合一起使用。

关于Matlab/Mathematica类似功能的交互式Matplotlib会话,我们使用IPython和它的特殊Matplotlib模式,使能够非阻塞绘图。

Ipython console  当使用IPython控制台时,我们以命令行参数--matplotlib启动它(-pylab命令被用在非常老的版本中)

IPthon notebook  在IPthon notebook中,我们在notebook的起始处插入以下魔法函数:%matplotlib inline

4.1.2  pyplot

pyplot为matplotlib面向对象的绘图库提供了一个程序接口。它是接近于Matlab的建模工具。因此,plot中的大多数绘图命令都具有类似的Matlab模拟参数。重要的命令用交互示例解释。

from matplotlib import pyplot as plt

 4.2  简单绘图

在本节中,我们要在同一个图上绘制余弦和正弦函数,我们将从默认设置开始,逐步充实图形,使其变得更好。

第一步:获取正弦和余弦函数的数据

import numpy as np

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

X现在是一个numpy数组,有256个值,范围从-π到+π(包括),C是余弦(256个值),S是正弦(256个值)。

要运行该示例,你可以在IPython交互式会话中键入它:

$ ipython --pylab

这使我们来到IPython命令提示符:

IPython 0.13 -- An enhanced Interactive Python.
? -> Introduction to IPython‘s features.
%magic -> Information about IPython‘s ‘magic‘ % functions.
help -> Python‘s own help system.
object? -> Details about ‘object‘. ?object also works, ?? prints more.
Welcome to pylab, a matplotlib-based Python environment.
For more information, type ‘help(pylab)‘.

你也可以下载每个例子,使用常规Python命令运行它,但是你会失去交互数据操作。

$ python exercice_1.py

你可以通过点击相应的图形来获取每个步骤的源。

4.2.1  使用默认设置绘图

Documentation

  • plot tutorial
  • plot() command
import numpy as np
import matplotlib.pyplot as plt

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

plt.plot(X, C)
plt.plot(X, S)

plt.show()

 4.2.2  实例化默认值

Documentation

  • Customizing matplotlib
import numpy as np
import matplotlib.pyplot as plt

# Create a figure of size 8x6 inches, 80 dots per inch
plt.figure(figsize=(8, 6), dpi=80)

# Create a new subplot from a grid of 1x1
plt.subplot(1, 1, 1)

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

# Plot cosine with a blue continuous line of width 1 (pixels)
plt.plot(X, C, color="blue", linewidth=1.0, linestyle="-")

# Plot sine with a green continuous line of width 1 (pixels)
plt.plot(X, S, color="green", linewidth=1.0, linestyle="-")

# Set x limits
plt.xlim(-4.0, 4.0)

# Set x ticks
plt.xticks(np.linspace(-4, 4, 9, endpoint=True))

# Set y limits
plt.ylim(-1.0, 1.0)
时间: 2024-08-07 04:33:55

Matplotlib:plotting(译)的相关文章

Matplotlib Tutorial(译)

Matplotlib Tutorial(译) 翻译自:Matplotlib tutorialNicolas P. Rougier - Euroscipy 2012 toc{: toc} 这个教程基于可以从scipy lecture note得到的 Mike Müller的教程. 源代码可从这里获得.图像在figures文件夹内,所有的脚本位于scripts文件夹. 所有的代码和材料以Creative Commons Attribution 3.0 United States License (C

matplotlib简易新手教程及动画

做数据分析,首先是要熟悉和理解数据.所以掌握一个趁手的可视化工具是很重要的,否则对数据连个主要的感性认识都没有,怎样进行下一步的design 点击打开链接 还有一个非常棒的资料  Matplotlib Tutorial(译) 使用python绘制动态图的四个栗子: # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation f

matplotlib简单的新手教程和动画

做数据分析,首先是要熟悉和理解数据,所以掌握一个趁手的可视化工具是很重要的,否则对数据连个主要的感性认识都没有,怎样进行下一步的design 点击打开链接 还有一个非常棒的资料  Matplotlib Tutorial(译) 使用python绘制动态图的四个栗子: # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation f

如何在论文中画出漂亮的插图?

知乎用户的回答(1259票)]: 强烈推荐 Python 的绘图模块 matplotlib: python plotting .画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢量的各种绘图.能够保存成从 eps, pdf 到 svg, png, jpg 的多种格式.并且 Matplotlib 的绘图函数基本上都与 Matlab 的绘图函数名字都差不多,迁移的学习成本比较低.开源免费.如图所示(题目描述中的图在最后): (以下图片均引用自 Thumbnail

pandas.DataFrame.plot

pandas.DataFrame.plot¶ DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False, sharex=None, sharey=False, layout=None, figsize=None, use_index=True, title=None, grid=None, legend=True, style=None, logx=False, logy=False, loglog=False, xt

[it-ebooks]电子书列表

#### it-ebooks电子书质量不错,但搜索功能不是很好 #### 格式说明  [ ]中为年份      ||  前后是标题和副标题  #### [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Objective-C to develop iPhone games http://it-ebooks.info/book/3544/ Learning Web App Developmen

各种DOC+API

Java TM Platform Standard Edition 6 的 API 规范 Java? Platform, Standard Edition 8 API Specification 在线API文档 一译中文文档-Python相关 Python 中文学习大本营 Python 入门指南 Python 2.7.13 documentation Python 2.7.8 教程 Python 3 文档(简体中文) 3.2.2 documentation Numpy and Scipy Doc

(转) [it-ebooks]电子书列表

[it-ebooks]电子书列表 [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Objective-C to develop iPhone games http://it-ebooks.info/book/3544/Learning Web App Development || Build Quickly with Proven JavaScript Techniques http://

python pandas 直方图

import matplotlib.pyplot as plt import numpy as np df2 = pd.Series([1,2,1,4,1],index=[1,2,3,4,5]) # print(df2) #df2.plot() df=pd.DataFrame({1:[1,1,4,3],2:[1,2,3,4]}) #pd.DataFrame.hist(df,column=[1]) #a=df.hist(orientation="vertical",histtype=&q