matplotlib:Pyplot教程
Pyplot 教程
pyplot 界⾯的介绍。
pyplot 简介
是使 matplotlib 像 MATLAB ⼀样⼯作的函数集合。每个pyplot函数都会对图形进⾏⼀些更改:例如,创建图形、在图形中创建绘图区域、在绘图区域中绘制⼀些线条、⽤标签装饰绘图等。
在函数调⽤中保留各种状态,以便跟踪当前图形和绘图区域等内容,并且绘图函数指向当前轴(请注意此处和⽂档中的⼤多数地⽅
的“轴”是指到的轴 ⽽不是⽤于多个轴的严格数学术语)。
笔记
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。如果您向 提供单个列表或数组 ,matplotlib 会假定它是⼀个 y 值序列,并⾃动为您⽣成 x 值。由于 python 范围从 0 开始,默认的 x 向量与 y 具有相同的长度,但从 0 开始。因此 x 数据是 .[0, 1, 2, 3]
是⼀个多功能函数,可以接受任意数量的参数。例如,要绘制 x 与 y 的关系,您可以编写:
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
OUT:
[<matplotlib.lines.Line2D object at 0x7fe64a20c9a0>]
格式化你的绘图风格
对于每对 x, y 参数,都有⼀个可选的第三个参数,它是指⽰绘图颜⾊和线型的格式字符串。格式字符串的字母和符号来⾃ MATLAB,您将颜⾊字符串与线型字符串连接起来。默认格式字符串是“b-”,这是⼀条蓝⾊实线。例如,要绘制上⾯的红⾊圆圈,您将发出
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
有关线条样式和格式字符串的完整列表,请参阅⽂档。上⾯⽰例中的 函数采⽤⼀个[xmin, xmax, ymin, ymax]列表并指定轴的视⼝。
如果 matplotlib 仅限于处理列表,那么它对于数字处理将毫⽆⽤处。通常,您将使⽤数组。实际上,所有序列在内部都转换为 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()
⽤关键字字符串
在某些情况下,您的数据格式允许您使⽤字符串访问特定变量。例如,使⽤ 或。
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)
matplotlib中subplot
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(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()
控制线属性
线条有许多可以设置的属性:线宽、虚线样式、抗锯齿等;见。有⼏种⽅法可以设置线属性
使⽤关键字参数:
plt.plot(x, y, linewidth=2.0)
使⽤Line2D实例的 setter ⽅法。plot返回Line2D对象列表;例如line1, line2 = plot(x1, y1, x2, y2),。在下⾯的代码中,我们假设我们只有⼀⾏,因此返回的列表长度为 1。我们使⽤元组解包`line, 来获取该列表的第⼀个元素:
line, = plt.plot(x, y, '-')
line.set_antialiased(False) # turn off antialiasing
使⽤. 下⾯的⽰例使⽤ MATLAB 样式的函数在⾏列表上设置多个属性。setp透明地处理对象列表或单个对象。您可以使⽤ python 关键字参数或 MATLAB 样式的字符串/值对:
lines = plt.plot(x1, y1, x2, y2)
# use keyword args
plt.setp(lines, color='r', linewidth=2.0)
# or MATLAB style string value pairs
plt.setp(lines, 'color', 'r', 'linewidth', 2.0)
以下是可⽤的属性。
属性值类型
alpha float
animated[True|False]
antialiased或 aa[True|False]
clip_box⼀个 ansform.Bbox 实例
clip_on[True|False]
clip_path⼀个 Path 实例和⼀个 Transform 实例,⼀个 Patch
color或 c任何 matplotlib 颜⾊
contains命中测试功能
dash_capstyle[ 'butt'
dash_joinstyle[ 'miter'
dashes(破折号)sequence of on/off ink in points
data(np.array xdata, np.array ydata)
figure⼀个 matplotlib.figure.Figure 实例
label任何字符串
linestyle或 ls[ '-'
linewidth或 lw以点为单位的浮点值
marker[ '+'
markeredgecolor或 mec任何 matplotlib 颜⾊
markeredgewidth或mew以点为单位的浮点值
markerfacecolor或 mfc任何 matplotlib 颜⾊
markersize或ms float
markevery[ None |integer|(startind, stride)]
picker⽤于交互式选线

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。