NumPy Matplotlib


Matplotlib是Python的绘图库。它与NumPy一起使用,为MatLab提供了一个有效的开源替代方案。它也可以用于像PyQt和wxPython这样的图形工具包。

Matplotlib模块首先由John D. Hunter编写。自2012年以来,Michael Droettboom是主要开发人员。目前,Matplotlib ver。1.5.1是可用的稳定版本。该软件包以二进制发行版以及www.matplotlib.org上的源代码格式提供。

通常,通过添加以下语句将包导入到Python脚本中 -

from matplotlib import pyplot as plt

这里 pyplot() 是matplotlib库中最重要的函数,用于绘制二维数据。以下脚本绘制方程 y = 2x + 5

import numpy as np
from matplotlib import pyplot as plt

x = np.arange(1,11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x,y)
plt.show()

ndarray对象x是由 np.arange()函数 创建的,作为 x轴上 的值。 y轴上 的对应值存储在另一个 ndarray对象y中 。这些值使用matplotlib软件包的pyplot子模块的 plot() 函数绘制。

图形表示由 show() 函数 显示

上面的代码应该产生以下输出 -

Matplotlib演示

通过向 plot() 函数添加格式字符串,可以离散显示值而不是线性图。可以使用格式化字符。

Sr.No. 性格和描述
1 ' - '
实线样式
2 ' -- '
虚线样式
3 ' -. '
点划线样式
4 ':'
虚线的样式
5 '.'
点标记
6 ','
像素标记
7 'O'
圆形标记
8 'V'
Triangle_down标记
9 '^'
Triangle_up标记
10 ' <'
Triangle_left标记
11 ' >'
Triangle_right标记
12 '1'
Tri_down标记
13 '2'
Tri_up标记
14 '3'
Tri_left标记
15 '4'
Tri_right标记
16 'S'
方形的标记
17 'P'
五角大楼标记
18 '*'
星标
19 'H'
Hexagon1标记
20 'H'
Hexagon2标记
21 '+'
Plus标记
22 'X'
X标记
23 'd'
钻石标记
24 'd'
Thin_diamond标记
25 '|'
Vline标记
26 '_'
Hline标记

以下颜色缩写也被定义。

字符 颜色
'B'
蓝色
'G'
绿色
'R'
'C'
青色
'M'
品红
'Y'
黄色
'K'
黑色
'W' 白色

要显示代表点的圆圈,而不是上面示例中的直线,请在plot()函数中使用 “ob” 作为格式字符串。

import numpy as np
from matplotlib import pyplot as plt

x = np.arange(1,11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x,y,"ob")
plt.show()

上面的代码应该产生以下输出 -

颜色缩写

正弦波曲线

以下脚本使用matplotlib 生成 正弦波图

import numpy as np
import matplotlib.pyplot as plt  

# Compute the x and y coordinates for points on a sine curve
x = np.arange(0, 3 * np.pi, 0.1)
y = np.sin(x)
plt.title("sine wave form")

# Plot the points using matplotlib
plt.plot(x, y)
plt.show()

正弦波

副区()

subplot()函数允许你在同一个图中绘制不同的东西。在下面的脚本中,绘制了 正弦余弦值

import numpy as np
import matplotlib.pyplot as plt  

# Compute the x and y coordinates for points on sine and cosine curves
x = np.arange(0, 3 * np.pi, 0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)  

# Set up a subplot grid that has height 2 and width 1,
# and set the first such subplot as active.
plt.subplot(2, 1, 1)

# Make the first plot
plt.plot(x, y_sin)
plt.title('Sine')  

# Set the second subplot as active, and make the second plot.
plt.subplot(2, 1, 2)
plt.plot(x, y_cos)
plt.title('Cosine')  

# Show the figure.
plt.show()

上面的代码应该产生以下输出 -

子情节

酒吧()

所述 pyplot子模块 提供 bar()的 函数来生成柱状图。以下示例生成两组 xy 数组的条形图。

from matplotlib import pyplot as plt
x = [5,8,10]
y = [12,16,6]  

x2 = [6,9,11]
y2 = [6,15,7]
plt.bar(x, y, align = 'center')
plt.bar(x2, y2, color = 'g', align = 'center')
plt.title('Bar graph')
plt.ylabel('Y axis')
plt.xlabel('X axis')  

    plt.show()

此代码应该产生以下输出 -

条状图