从后端拿到的数据需要用echarts直线图展示,从后端拿到的数据格式是这样的
{
'Mon':150,
'Tue':230,
'Wed':224,
'Thu':218,
'Fri':135,
'Sat':147,
'Sun':260
}
这样直接Object.keys()拿到key作为横坐标,Object.values()拿到值作为纵坐标
不过随着数据量的增大,这个方法有了一些问题,可能后端返回的数据有些没有’Mon‘的数据,有些没有’Fri‘的数据。再通过Object.values拿数据展示可能会出现数据在echarts上的错位。
首先横坐标的解决办法我用了最笨的方法(因为只想到最笨的),就是遍历返回的每一个对象,然后合并每一个对象的key并去重。其次,关于纵坐标,拿着横坐标中的key去每一个对象中找所对应的value,如果没有则可以表示为undefined或者NaN(这个是猜的),然后将echarts中series中data格式改一下即可,每一项变成['key':value]的形式。
这样画出来的折线图就是有断点的,不会出现数据错位的情况
嘻嘻嘻!