在普通折线图的基础上,有两种特殊的折线图,分别是阶梯图和点线图,首先来看下阶梯图,下图是一个典型的生存曲线
可以看到,生存曲线就是一个典型的阶梯图,不同于直接相连而成的折线图,在阶梯图中,每两个点之间通过一个90度的折线进行连接。在matplotlib中,通过step函数来实现折线图,用法如下
>>> import matplotlib.pyplot as plt
>>> x = range(20)
>>> y = range(20)
>>> plt.step(x, y)
输出结果如下
对于阶梯图而言,有一个关键的参数where来控制阶梯的样式,有以下三种取值
1. pre
2. post
3. mid
默认值为pre, 和普通的折线图放到一起,更能提现其效果,默认的效果如下
>>> plt.plot(x, y)
>>> plt.step(x, y)
>>> plt.show()
输出结果如下
可以看到,默认的截图是在普通折线之上的,当修改where参数的值为post时
>>> plt.plot(x, y)
>>> plt.step(x, y, where='post')
>>> plt.show()
输出结果如下
此时,阶梯位于折线图的下方,当修改参数的值为mid时
>>> plt.plot(x, y)
>>> plt.step(x, y, where='mid')
>>> plt.show()
输出结果如下
点线图在matplotllib中通过stem函数来实现,基本用法如下
>>> plt.stem(x, y)
输出结果如下
在点线图中,有3个构成要素
1. 散点
2. 竖直方向的线条
3. 最底部的base line
对于这3个元素,分别通过markerfmt, linefmt, basefmt3个参数来控制其外观,基本用法如下
>>> plt.stem(x, y, markerfmt='go', linefmt='c--', basefmt='r--')
输出结果如下
当basefmt的取值为空格时,会不显示base line, 用法如下
>>> plt.stem(x, y, markerfmt='go', linefmt='c--', basefmt=' ')
输出结果如下
点线图和阶梯图在数据可视化中应用的频率还是比较高的,在matplotlib中可以轻松的实现这两种可视化方式。
·end·