在普通折线图的基础上,有两种特殊的折线图,分别是阶梯图和点线图,首先来看下阶梯图,下图是一个典型的生存曲线

点线图和阶梯图的画法_折线图

可以看到,生存曲线就是一个典型的阶梯图,不同于直接相连而成的折线图,在阶梯图中,每两个点之间通过一个90度的折线进行连接。在matplotlib中,通过step函数来实现折线图,用法如下

>>> import matplotlib.pyplot as plt
>>> x = range(20)
>>> y = range(20)
>>> plt.step(x, y)

输出结果如下

点线图和阶梯图的画法_公众号_02

对于阶梯图而言,有一个关键的参数where来控制阶梯的样式,有以下三种取值

1. pre

2. post

3. mid

默认值为pre, 和普通的折线图放到一起,更能提现其效果,默认的效果如下

>>> plt.plot(x, y)
>>> plt.step(x, y)
>>> plt.show()

输出结果如下

点线图和阶梯图的画法_公众号_03

可以看到,默认的截图是在普通折线之上的,当修改where参数的值为post时

>>> plt.plot(x, y)
>>> plt.step(x, y, where='post')
>>> plt.show()

输出结果如下

点线图和阶梯图的画法_折线图_04

此时,阶梯位于折线图的下方,当修改参数的值为mid时

>>> plt.plot(x, y)
>>> plt.step(x, y, where='mid')
>>> plt.show()

输出结果如下

点线图和阶梯图的画法_数据分析_05

点线图在matplotllib中通过stem函数来实现,基本用法如下

>>> plt.stem(x, y)

输出结果如下

点线图和阶梯图的画法_折线图_06

在点线图中,有3个构成要素

1. 散点

2. 竖直方向的线条

3. 最底部的base line

对于这3个元素,分别通过markerfmt, linefmt, basefmt3个参数来控制其外观,基本用法如下

>>> plt.stem(x, y, markerfmt='go', linefmt='c--', basefmt='r--')

输出结果如下

点线图和阶梯图的画法_折线图_07

当basefmt的取值为空格时,会不显示base line, 用法如下

>>> plt.stem(x, y, markerfmt='go', linefmt='c--', basefmt=' ')

输出结果如下

点线图和阶梯图的画法_数据分析_08

点线图和阶梯图在数据可视化中应用的频率还是比较高的,在matplotlib中可以轻松的实现这两种可视化方式。

·end·


点线图和阶梯图的画法_折线图_09

一个只分享干货的

生信公众号