在练习用charts库对爬取的数据进行数据分析并图表化时遇到一个问题,无法显示图表,如下:
经过重装charts库等一顿折腾后,终于发现一个问题,看这里:
def data_gen(type):
length = 0
if length <= len(area_index):
for area,time in zip(area_index,post_time):
if area == '':
area = '不明'
else:
pass
data = [{'name':area,'data':[time],'type':type}]
yield data
length += 1
在定义charts显示的格式时,使用了列表,就是这个data = [{'name':area,'data':[time],'type':type}],而实际上标准格式是:[{'name':area,'data':[time],'type':type},{'name':area,'data':[time],'type':type},{'name':area,'data':[time],'type':type},...],错就错在在这个迭代器里加上了[],这样迭代器生成的每一个标准格式都是可以单独绘制图表,最后在进行如下操作:
series = [data for data in data_gen('column')]
此时便无法绘制图表,因为series=[[{'name':area,'data':[time],'type':type}],[{'name':area,'data':[time],'type':type}],[{'name':area,'data':[time],'type':type}],...]这种结构
所以更正方法就是,去掉上述迭代器里的[],修改后,成果如下:
注:谨以此提醒自己,如有错误,望指正。