所有数据点均为蓝色。我希望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
请帮助。 谢谢。
答案 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();
给出:
这个想法是创建一个布尔数组,稍后将其用于选择每组点。 (也许有更好的书写方式,例如通过为散点图中的每个点设置颜色值...)