我需要根据情况用不同的颜色线绘制子图。 为此,我尝试使用LineCollection。但是对于我的数据,我会收到错误消息,无法找到如何对我的数据使用它的方法。我与这个堆栈堆叠在一起,有人可以给我提示如何使其工作。
我的数据接下来显示:
age_gps_data ref_station_id river_km
1.0 2421.0 667.5144925407869
0.5 2421.0 667.5144592533758
1.0 2421.0 667.5144249505418
0.5 2421.0 667.5143958295257
1.0 2421.0 667.5143629441299
0.5 2421.0 667.5143266152246
1.0 2.0 667.5142970594003
0.5 2.0 667.5142580343961
1.0 2.0 667.5142211073334
0.5 2.0 667.5141878187346
我尝试此解决方案,但出现错误:
filename = "G:\\ais_evaluation\\track_AIS_2route.csv"
df2 = pd.read_csv(filename, delimiter=';')
segments = []
color = np.zeros(shape=(10,4))
x = df2['river_km'].tolist()
y = df2['age_gps_data'].tolist()
i = 0
z = df2.ref_station_id
for x1, y1, x2, y2 in zip(x, x[1:], y, y[1:]):
if z == 2.0:
color[i] = colors.to_rgba('Crimson')
else:
color[i] = colors.to_rgba('slategray')
segments.append([(x1, y1), (x2, y2)])
i += 1
lc = mc.LineCollection(segments, colors=color, linewidths=2)
fig, ax = pl.subplots()
ax.add_collection(lc)
ax.autoscale()
ax.margins(0.1)
pl.show()
我遇到此错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(
如何根据参数ref_station_id改进此代码以使用不同的颜色实现river_km vs age_gps_data行? 我是python新手,不胜感激。