项目需要通过Pandas 从MySQL数据库读入数据,然后在通过pyecharts显示折线图,但是把数据导入后网页上的折线图只有坐标轴,没有任何数据,也没有报错。后来看了网上资料,才知道在引用pandas数据时,需要加.tolist()方法。
原来的错误代码是这样:
line = Line()
#is_label_show是设置上方数据是否显示
line.add_xaxis(df.columns) #把所有pandas列名称作为X轴的标签
line.set_global_opts(title_opts=opts.TitleOpts(title="关键词品牌名", subtitle="副标题"))
line.add_yaxis(series_name=df.iloc[1].name,y_axis=df.iloc[1]) #将pandas的1行数据作为添加折线图数值
需要修改为加了tolist()方法的,把pandas数据转换为python 列表:
line = Line() #添加折线图
line.add_xaxis(df.columns.tolist()) #一定要加tolist()方法,不然会没有任何内容。
line.set_global_opts(title_opts=opts.TitleOpts(title="关键词品牌名", subtitle="副标题"))
line.add_yaxis(series_name=df.iloc[1].name,y_axis=df.iloc[1].tolist())
#不能直接引用行数据,要转换为列表
问题顺利解决。
接下来要解决把Y轴倒过来的问题。