Highcharts plot给出的xaxis是我的数据集长度的两倍

2024-10-03 00:26:27 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here 我用烧瓶来绘制数据与高图表。我不明白为什么我经常得到这样的图:x轴的时间点是它应该的两倍(见左边的图表)。这似乎只发生在缺少数据的情况下(例如PM2.5系列)。我使用的代码如下:

hours = list(map(lambda x: datetime.strptime(x, "%Y-%m-%d %H:%M:%S").strftime('%H:%M'), 
        ([d['@MeasurementDateGMT'] for d in array[0:24])))
pm10 = [d['@Value'] if d['@Value'] == '' else float(d['@Value']) for d in array if d['@SpeciesCode'] == 'PM10']
pm25 = [d['@Value'] if d['@Value'] == '' else float(d['@Value']) for d in array if d['@SpeciesCode'] == 'FINE']
no2 = [d['@Value'] if d['@Value'] == '' else float(d['@Value']) for d in array if d['@SpeciesCode'] == 'NO2']
chart = {"renderTo": chartID, "type": chart_type, "height": chart_height, }
series = [{"name": 'PM10', "data": pm10}, {"name": 'PM2.5', "data": pm25},
          {"name": 'Nitrogen Dioxide', "data": no2}]
title = {"text": 'My Title'}
xAxis = {"categories": hours}
yAxis = {"title": {"text": 'Concentration (ug/m3'}}
return render_template('detail.html', chartID=chartID, chart=chart, series=series, title=title, xAxis=xAxis,
                       yAxis=yAxis)

“hours”变量是从00:00到23:00的小时列表,pm10、pm25和no2是浮点值列表,缺少数据的字符串为空。这些列表的长度都是24个值,这就是为什么我不明白为什么x轴上有48个点。你知道吗

hours = ['01:00', '02:00', '03:00'....23:00]
pm10 = [24.8, 21.2, '', 21.5, 9.3,.....21.8]

有人知道为什么会发生这种情况,以及我需要对代码做什么更改吗?你知道吗


Tags: 数据inforiftitlevaluechartfloat