Python 绘图包 Matplotlib Pyplot 教程

Pyplot 接口简介

Pyplot 入门

matplotlib.pyplot?是命令风格函数的集合,使 Matplotlib 像 MATLAB 一样工作。每个 Pyplot 函数对图形做一些修改,例如:创建一个图形,在图形中创建一个绘图区域,在绘图区域中回值一些线条,用标签装饰图形等等。

在?matplotlib.pyplot中,在函数调用之间保留了各种状态,以便跟踪当前图形和绘图区域等内容,绘图函数指向当前 轴(Axes 对象)。


注意

Pyplot API 通常不如面向对象的 API 灵活。在这里看到的大多数函数调用也可以作为 Axes 对象的方法调用。建议浏览教程和实力来了解这是如何工作的。

?

用 Pyplot 生成可视化效果非常快速:


import
matplotlib.pyplot
as
plt

plt.plot([1, 2, 3, 4])

plt.ylabel(‘some numbers‘)

plt.show()

可能知道为什么 X轴的范围是 0-3,Y 轴的范围是 1-4。如果向 plot() 命令提供单个列表或数组,Matplotlib 将假定是一个 Y 值序列,并自动生成 X 值。因为 Python 范围以 0 开头,所以默认的 X 向量与 Y 的长度相同,但是以 0 开头。因此 X 数据是[0, 1, 2, 3]。


plt.plot

([1, 2, 3, 4], [1, 4, 9, 16])

设置图的样式

对于每一对 X,Y 参数,第三个参数都是可选的,它是指示绘图的颜色和线条类型的格式字符串。格式字符串的字母和符号来自 MATLAB,可以将一个颜色字符串与一个行样式字符串连接起来。默认的格式字符串是"b-",这是一个纯蓝色的线。例如:要用红色源泉回值上面的图,代码如下:


plt.plot

([1, 2, 3, 4], [1, 4, 9, 16], ‘ro‘)

plt.axis

([0, 6, 0, 20])

plt.show

()

有关行样式和格式化字符串的完整列表,参见?plot() 文档。上面示例中的?axis()?命令接受一个 [ xmin,xmax,ymin,ymax ] 列表,并指定轴的视口。

所有序列都在内部转换成 numpy 数组。下面是示例:

import
											numpy
													as
															np
																

?

# evenly sampled time at 200ms intervals
										
t =
												np.arange(0., 5., 0.2)

?

# red dashes, blue squares and green triangles
										

plt.plot

(t, t, ‘r--‘, t, t**2, ‘bs‘, t, t**3, ‘g^‘)

plt.show

()

使用关键词字符串绘图

在某些情况下,数据的格式允许使用字符串访问特定的变量。例如:使用 numpy.recarray

pandas.DataFrame

Matplotlib?允许使用 data 关键字参数提供这样的对象。如果提供了,那么可以生成包含与这些变量对应字符串的绘图。

data = {‘a‘: np.arange(50),


										‘c‘: np.random.randint(0, 50, 50),

										‘d‘: np.random.randn(50)}
data[‘b‘] = data[‘a‘] +
																		10
																				*
																						np.random.randn(50)
data[‘d‘] = np.abs(data[‘d‘]) *
																				100
																					

?

plt.scatter

(‘a‘, ‘b‘, c=‘c‘, s=‘d‘, data=data)

plt.xlabel

(‘entry a‘)

plt.ylabel

(‘entry b‘)

plt.show

()

用分类变量绘图

还可以使用分类变量创建绘图。Matplotlib 允许直接将分类变量传递给许多绘图函数。例如:

names = [‘group_a‘, ‘group_b‘, ‘group_c‘]

values = [1, 10, 100]

?

plt.figure

(1, figsize=(9, 3))

?

plt.subplot

(131)

plt.bar

(names, values)

plt.subplot

(132)

plt.scatter

(names, values)

plt.subplot

(133)

plt.plot

(names, values)

plt.suptitle

(‘Categorical Plotting‘)

plt.show

()

控制线属性

线有许多可以设置的属性: linewidth、 dash style、 antialiased 等;?请参见matplotlib.lines.Line2D。有几种方法可以设置 line 属性:

若要获取可设置行属性的列表,请使用一行或多行作为参数调用 setp() 函数:

In [69]: lines =
													plt.plot([1, 2, 3])

?

In [70]: plt.setp(lines)
  alpha: float
  animated: [True | False]
  antialiased or aa: [True | False]
  ...snip

?

生成多个图和轴

MATLAB 和 pyplot,具有当前图形和当前 Axes(轴对象)。所有绘图命令都应用于当前 Axes。函数 gca() 返回当前 Axes(?matplotlib.axes.Axes 实例),gca() 返回当前图形(matplotlib.figure.Figure 实例)。下面是创建两个图的代码:

def
											f(t):


										return
												np.exp(-t) *
																np.cos(2*np.pi*t)

?

t1 =
												np.arange(0.0, 5.0, 0.1)
t2 =
												np.arange(0.0, 5.0, 0.02)

?

plt.figure

(1)

plt.subplot

(211)

plt.plot

(t1, f(t1), ‘bo‘, t2, f(t2), ‘k‘)

?

plt.subplot

(212)

plt.plot

(t2, np.cos(2*np.pi*t2), ‘r--‘)

plt.show

()

?figure()?命令是可选的,因为图1是默认创建的,就像如果不手动指定任何坐标轴,默认情况下会创建一个子图2 一样。subplot()?命令 numrows,numcols,plot_number,其中plot_number 范围从1到numrows * numcols。如果numrows * numcols < 10,那么 subplot 命令逗号是可选的。所以subplot(211)和subplot(2, 1, 1)是一样的。

可以创建任何数量的子图和轴。如果想动手设置一个坐标轴,可以使用?axes() 命令,该命令允许将位置指定为 axes([左,底,宽,高]),其中所有值都是小数(0-1)坐标。有关手动设置轴的示例,请参见?Axes Demo;有关许多子图示例,请参见
Basic Subplot Demo

import
											matplotlib.pyplot
													as
															plt
																

plt.figure

(1)                # the first figure
													

plt.subplot

(211)             # the first subplot in the first figure
													

plt.plot

([1, 2, 3])

plt.subplot

(212)             # the second subplot in the first figure
													

plt.plot

([4, 5, 6])

?

?

plt.figure

(2)                # a second figure
													

plt.plot

([4, 5, 6])          # creates a subplot(111) by default
																	

?

plt.figure

(1)                # figure 1 current; subplot(212) still current
													

plt.subplot

(211)             # make subplot(211) in figure1 current
													

plt.title

(‘Easy as 1, 2, 3‘) # subplot 211 title

可以使用?clf()?清楚当前轴。这是一个面向对象 API 的有状态包装器,可以参见?Artist 教程。

如果制作大量图形,那么需要需要注意的:一个图形所需的内存在使用 close()
显示关闭之前是不被完全释放的。删除对图形的所有引用,[并 、或] 关闭窗口是不够的。因为 pyplot 内部引用指到
close() 结束?。

?

?

原文地址:https://www.cnblogs.com/q3619940/p/10693457.html

时间: 2024-10-12 13:50:13

Python 绘图包 Matplotlib Pyplot 教程的相关文章

Python绘图工具matplotlib的安装

今天在机子上安装matplotlib遇到一些问题,特将此记录下来,供大家分享以少走弯路. 1:下载matplotlib 去官网上下载你所需要的版本http://matplotlib.org/download.html,  注意这里的32位和64位指的是python版本.由于是exe文件,直接安装即可. 2:import matplotlib 当我在python shell 中使用命令import matplotlib时出现了以下错误 此时我们需要安装dateutil,这里需要使用easy_ins

Matplotlib pyplot 教程

matplotlib.pyplot是一个命令风格函数的集合,使matplotlib的机制更像 MATLAB. 每个绘图函数对图形进行一些更改:例如,创建图形,在图形中创建绘图区域,在绘图区域绘制一些线条,使用标签装饰绘图等.在matplotlib.pyplot中,各种状态跨函数调用保存,以便跟踪诸如当前图形和绘图区域之类的东西,并且绘图函数始终指向当前轴域(请注意,这里和文档中的大多数位置中的『轴域』(axes)是指图形的一部分(两条坐标轴围成的区域),而不是指代多于一个轴的严格数学术语). i

python绘图之matplotlib

Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形  . 通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等.但是还有pylab也很好用. 网上大部分的博客文章对这二者的解释基本千篇一律,也就是: 对Pyplot的解说:"方便快速绘图matplotlib通过pyplot模块提供了一套和MATLAB类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部.&

Python绘图工具matplotlib的使用(图形并茂)

matplotlib官网文档: http://matplotlib.org/gallery.html 支持win7_64_bit的matplotlib库下载网址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib 简单介绍: matplotlib 是python最著名的画图库,它提供了一整套和matlab类似的命令API,十分适合交互式地进行制图.并且也能够方便地将它作为画图控件,嵌入GUI应用程序中.它的文档相当完备,并且 Galler

python 绘图:matplotlib

matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 入门: http://matplotlib.org/users/pyplot_tutorial.html#pyplot-tutorial matplotlib还提供了一个名为pylab的模块,其中包括了许多NumPy和pyplot模块中常用的函数,方便用户快速进行计算和绘图,十分适合在IPython交互式环境中使用.

Python库 - import matplotlib.pyplot as plt 报错问题

1.先设置好环境变量 在path变量中设置好以下路径: C:\Python27\Scripts C:\Python27 2.由于matplotlib依赖dateutil和pyparsing,所以需要安装dateutil, 而我们dateutil使用easy_install命令来安装, 但是C:\Python27\Scripts目录下默认没有easy_install.exe (下面两个地址,下载的是whl文件,需要用pip命令来安装的,但没尝试) http://www.lfd.uci.edu/~g

使用matplotlib,pylab进行python绘图

一提到python绘图,matplotlib是不得不提的python最著名的绘图库,它里面包含了类似matlab的一整套绘图的API.因此,作为想要学习python绘图的童鞋们就得在自己的python环境中安装matplotlib库了,安装方式这里就不多讲,方法有很多,给个参考的. 本文将在已安装matplotlib的环境中教新手如何快速使用其中的接口进行绘图操作,并展现一个非常直观的绘图例子,以及控制绘图中的一些细节的方法. 既然绘图要用matplotlib的包,并且我们也已经安装了,那么首先

Solution for Python Extention matplotlib.pyplot loading Error

When I execute the following python instruction in python shell >>>import matplotlib.pyplot as plt error occured and the error message show as follows,"UnicodeDecodeError: 'ascii' codec can't decode byte 0xea in position 0: ordinal not in ra

Python学习-windows安装Python以及matplotlib.pyplot包

引文: Python自带了许多的库文件,其中matplotlib可以做出类似于MATLAB和R语言一样绘制出很好的图形功能,下面介绍下怎么安装这个包,因为自己安装的时候很多地方都出错了. 环境: Windows X64 python2.7.5 说明:虽然电脑是64位系统,但电脑装的python依旧是32位的. 1 python下载和安装 1.1 python下载 首先下载python2.7.5:https://www.python.org/downloads/windows/ 或者到我的CSDN