matplotlib手册(7) - 折线图和曲线图

matplotlib手册(7)

这回,我么来看看折线图和曲线图,其实一开始的时候,我们掌握的就是折线图
来回忆下之前的内容,先看个小例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
x = np.arange('2017-08-01','2017-08-10',dtype=np.datetime64)
y = np.random.randint(10,100,size=9)
y2 = np.random.randint(10,100,size=9)
plt.plot(x,y,color='red',label='APP')
plt.plot(x,y2,color='blue',label='PC')
plt.title(u'每日登录用户数')
plt.xlabel(u'日期')
plt.ylabel(u'登录人数')
plt.legend()
plt.show()

就是使用plot直接绘制就行了
这次,我们使用了稍微有点儿意义的数据,下面,我们再看个曲线图,
以前数学里面,最常见的曲线是啥呢?可能就是那个正弦函数之类的(回忆一下,有点儿懵,忘了都)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
x = np.linspace(-2*np.pi,2*np.pi,1000)
y1,y2 = np.sin(x),np.cos(x)
plt.plot(x,y1,color='red',label='sin(x)')
plt.plot(x,y2,color='blue',label='cos(x)')
plt.legend()
plt.show()

就线条和标记,有很多常用的参数

哈,刚刚想到一个好玩儿的功能点,最近一直没看到,但是可视化的时候应该很常见,就是
在每一个点上,显示他的数值
试了下,还可以的

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
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
x = np.arange('2017-08-01','2017-08-10',dtype=np.datetime64)
y = np.random.randint(10,100,size=9)
y2 = np.random.randint(10,100,size=9)
plt.plot(x,y,color='red',label='APP')
plt.plot(x,y2,color='blue',label='PC')
plt.title(u'每日登录用户数')
plt.xlabel(u'日期')
plt.ylabel(u'登录人数')
#遍历每一个点,使用text将y值显示
for i,j in list(zip(x,y)):
plt.text(i,j+1,j,fontsize=12)
plt.legend()
plt.show()

这样可以实现,但是展示起来不是特别的友好,不知道有没有其他的好办法,后面再看看的。

于贵洋 wechat
要教我弹吉他嘛!