我有一个用Chart.js构建的图,它显示了它动态接收的某个性能指标。我被要求做的一件事是在背景上画三条带——红色、黄色和绿色,让用户直观地了解指标值是好、坏还是一般。我扩展了chart.js的线条版本,并在它的绘图功能中在画布上绘制我的色带。
如果我知道最大可能的值是什么,它会很好地工作。然后我可以将最大刻度定义为该值,并使用相同的值作为顶点来绘制我的红带。然而,如果我不知道最大的值是什么,那么一旦有更大的值出现,图表就会自动缩放以适应它,我最终会在红色的值之上得到一个白色的带。
有没有什么方法可以在实例化后动态地重新绘制部分背景?我唯一能想到的就是添加一个"animation.onComplete"处理程序来重新绘制背景。然而,问题是,在收到下一个值时,我新绘制的背景消失了,所以我认为我走错了路。
我不确定这是否有帮助,但根据我使用Chat.js的经验,我使用的方法是,我只创建一次Chat.js选项,然后每次有新记录时都会重新创建聊天数据对象。这实际上对我有效,我希望它对你有效。