在python中用不同类型的值绘制数据

时间:2018-08-25 17:58:44

标签: python python-3.x matplotlib dataset

enter image description here

所有数据点均为蓝色。我希望y轴上ID- 0000的数据点具有不同的颜色。

我想在python中绘制一个数据集,如下所示:

Timestamp   ID
0.0000      0000
0.000271    0080
0.000495    0000
0.000736    0081
0.000983    0000
0.001239    0165
0.001484    0000
0.001736    018f
0.001984    0000
0.002229    02a0
0.002465    0000
0.002654    02b0
0.002915    0000
0.003143    0316

请帮助。 谢谢。

1 个答案:

答案 0 :(得分:0)

这是使用Numpy和Matplotlib的解决方案:

import numpy as np
import matplotlib.pylab as plt

timestamp = np.linspace(0, 1, 7)
ID = np.array(['0000', '0080', '0000', '018f', '0uu00', 'hello', '0000'])
zero_points = (ID == '0000')  # define a selection mask
non_zero_points = np.logical_not(zero_points)

plt.plot(timestamp[non_zero_points],  ID[non_zero_points], 'bo', label='not 0000')
plt.plot(timestamp[zero_points],  ID[zero_points], 'ro', label='0000')
plt.xlabel('time'); plt.ylabel('values'); plt.legend();

给出:

example graph

这个想法是创建一个布尔数组,稍后将其用于选择每组点。 (也许有更好的书写方式,例如通过为散点图中的每个点设置颜色值...)