如何在Matplotlib中绘制非数值数据

2 投票
1 回答
5548 浏览
提问于 2025-04-15 22:02

我想用Matplotlib来绘制我y轴变量随时间变化的图。这对于连续的数据来说没问题,但对于不连续的数据,我该怎么处理呢?

比如说,如果我想展示我上班路上车停着的时间,x轴就是时间,y轴则是“停着”和“移动”这两个状态(我知道这个例子没什么用)。

不连续的数据需要以某种方式进行索引,但我不知道该怎么做……有没有什么想法?

1 个回答

7

这就是你想要的那种效果吗?(如果不是,你可以去看看matplotlib的图库页面,那里有很多灵感,或者你也可以自己画个图然后发上来。)

import matplotlib.pyplot as plt

data = [0]*5 + [1]*10 + [0]*3 +[1]*2

print data

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(data)
ax.set_yticks((0, 1.))
ax.set_yticklabels(('stopped', 'moving'))
ax.set_ybound((-.2, 1.2))
ax.set_xlabel("time (minutes)")

plt.show()

在这里输入图片描述

撰写回答