-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMatplotVisual_20170626
81 lines (66 loc) · 2.41 KB
/
MatplotVisual_20170626
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# matplotlib.pyplot 包含一系列类似 MATLAB 中绘图函数的相关函数。
# 每个 matplotlib.pyplot 中的函数对当前的图像进行一些修改,
# 例如:产生新的图像,在图像中产生新的绘图区域,在绘图区域中画线,给绘图加上标记,等等……
# matplotlib.pyplot 会自动记住当前的图像和绘图区域,因此这些函数会直接作用在当前的图像上。
# 下文中,以 plt 作为 matplotlib.pyplot 的省略
# ‘b’ 蓝色,blue
# ‘g’ 绿色,green
# ‘r’ 红色,red
# ‘c’ 青色,cyan
# ‘m’ 品红,magenta
# ‘y’ 黄色,yellow
# ‘k’ 黑色,black
# ‘w’ 白色,white
# '-' 实线 '--' 虚线
# '-.' 虚点线 ':' 点线
# '.' 点 ',' 像素点
# 'o' 圆点 'v' 下三角点
# '^' 上三角点 '<' 左三角点
# '>' 右三角点 '1' 下三叉点
# '2' 上三叉点 '3' 左三叉点
# '4' 右三叉点 's' 正方点
# 'p' 五角点 '*' 星形点
# 'h' 六边形点1 'H' 六边形点2
# '+' 加号点 'x' 乘号点
# 'D' 实心菱形点 'd' 瘦菱形点
# '_' 横线点
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
# plt.show()函数
# 默认情况下,matplotlib.pyplot 不会直接显示图像,只有调用 plt.show() 函数时,图像才会显示出来。
# plt.show() 默认是在新窗口打开一幅图像,并且提供了对图像进行操作的按钮。
t = np.arange(-np.pi, np.pi, 0.1)
y = np.sin(t)
# 不需要使用多个 plot 函数来画多组数组,只需要可以将这些组合放到一个 plot 函数中去即可
plt.figure(1) # 生成多个图
a1 = plt.plot(t, y, 'mp', t, np.cos(t), 'ro')
plt.title('Sin_Cos')
plt.grid(True)
# 设置线型和颜色
plt.figure(2)
a2 = plt.plot(t, y, linewidth=2.0, color='r')
plt.xlabel('no')
plt.ylabel('some numbers')
plt.title('example')
plt.text(-2, 1, r'$\mu=100,\ \sigma=15$') # 图形上加文字
xmin, xmax, ymin, ymax = -np.pi, np.pi, -2, 2
plt.axis([xmin, xmax, ymin, ymax])
plt.grid(True)
# 定义一个函数 f(t) = exp(-t) * cos(2 * pi * t)
def f(t):
return np.exp(-t) * np.cos(2 * np.pi * t)
# 函数的另一种写法
# def f(t):
# f = np.exp(-t) * np.cos(2 * np.pi * t)
# return f
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
plt.figure(3)
plt.subplot(211)
plt.grid(True)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'r:')
plt.subplot(212)
plt.plot(t2, np.cos(2 * np.pi * t2), 'r--')
plt.grid(True)
plt.show()