📅  最后修改于: 2020-11-08 07:42:40             🧑  作者: Mango
Matplotlib是Python的绘图库。它与NumPy一起使用,提供了一个环境,是MatLab的有效开源替代方案。它还可以与PyQt和wxPython等图形工具包一起使用。
Matplotlib模块最初由John D. Hunter编写。自2012年以来,Michael Droettboom是主要开发人员。目前,Matplotlib版本。 1.5.1是可用的稳定版本。该软件包以二进制形式以及在www.matplotlib.org上的源代码形式提供。
按照惯例,通过添加以下语句将包导入到Python脚本中-
from matplotlib import pyplot as plt
pyplot()是matplotlib库中最重要的函数,用于绘制2D数据。以下脚本绘制了等式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()
从np.arange()函数创建一个ndarray对象x作为x轴上的值。 y轴上的相应值存储在另一个ndarray对象y中。这些值是使用matplotlib软件包的pyplot子模块的plot()函数绘制的。
图形表示由show()函数显示。
上面的代码应产生以下输出-
通过将格式字符串添加到plot()函数,可以离散地显示值,而不是线性图。可以使用以下格式字符。
Sr.No. | Character & Description |
---|---|
1 |
‘-‘ Solid line style |
2 |
‘–‘ Dashed line style |
3 |
‘-.’ Dash-dot line style |
4 |
‘:’ Dotted line style |
5 |
‘.’ Point marker |
6 |
‘,’ Pixel marker |
7 |
‘o’ Circle marker |
8 |
‘v’ Triangle_down marker |
9 |
‘^’ Triangle_up marker |
10 |
‘<‘ Triangle_left marker |
11 |
‘>’ Triangle_right marker |
12 |
‘1’ Tri_down marker |
13 |
‘2’ Tri_up marker |
14 |
‘3’ Tri_left marker |
15 |
‘4’ Tri_right marker |
16 |
‘s’ Square marker |
17 |
‘p’ Pentagon marker |
18 |
‘*’ Star marker |
19 |
‘h’ Hexagon1 marker |
20 |
‘H’ Hexagon2 marker |
21 |
‘+’ Plus marker |
22 |
‘x’ X marker |
23 |
‘D’ Diamond marker |
24 |
‘d’ Thin_diamond marker |
25 |
‘|’ Vline marker |
26 |
‘_’ Hline marker |
还定义了以下颜色缩写。
Character | Color |
---|---|
‘b’ | Blue |
‘g’ | Green |
‘r’ | Red |
‘c’ | Cyan |
‘m’ | Magenta |
‘y’ | Yellow |
‘k’ | Black |
‘w’ | White |
要显示代表点的圆,而不是上面的示例中的线,请使用“ ob”作为plot()函数的格式字符串。
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()函数来生成条形图。以下示例生成两组x和y数组的条形图。
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()
此代码应产生以下输出-