问题描述
[[DateTime,"Class1"],[DateTime,"Class2"] .... ]
我想在图中显示原始时间序列数据,下面有一个颜色条,指示每个时间间隔的预测类别,可以看到此颜色条的示例here(x-这里的轴应该是日期时间格式)。
我通过为每个 [DateTime,"Class1"]
对附加像素来实现该示例。但是,问题在于每个连续的 DateTime 之间的间隔是不同的。因此,每个“像素”不应具有相同的宽度。
我的下一个想法是使用线集合,使用具有适当颜色的水平线连接每个日期时间:
def plot_prediction_colorbar(self,ax):
classes = self.df["Prediction"].unique() #get all classes
colors = cm.rainbow(np.linspace(0,1,len(classes))) #color for each one
dt_pred_arr = self.df[["DateTime","Prediction"]].to_numpy()
color_arr = []
line_arr = []
last_coord = None
last_color = None
for idx,(dt,pred) in enumerate(dt_pred_arr):
dt = date2num(dt)
cur_coord = [dt,0]
if last_coord is not None and last_color is not None:
color_arr.append(last_color)
line_arr.append([ last_coord,cur_coord])
last_coord = cur_coord
if pred in classes: #For predicted classes
last_color = colors[np.where(classes==pred)[0]][0]
linecoll = LineCollection(line_arr,colors=color_arr)
ax.add_collection(linecoll)
但是,没有显示任何行...运行时 line_array
条目的示例是:
[[18550.766805555555,0],[18550.766793981482,0]]
这可能是由于日期时间转换导致高浮动而差异很小吗?
任何帮助将不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)