当前位置: 首页 > 后端技术 > Python

pyecharts可视化大屏

时间:2023-03-25 22:43:56 Python

如何优雅地搭建可视化大屏?郑重声明:本文不直接提供妓女与妖怪的福音最终代码,免费开源---在pyechart官网研究了多年,终于被我这个菜鸟搞定了!手动滑稽...先来看看效果图:注:数据纯属虚构。好像是这样?!?!进入正题↓实现过程:爬取业务系统数据,存储到mysql(大数据量推荐)或excel中,可以使用pyecharts可视化嵌入到前端框架中。局域网共享需要的知识点:python,javascript,html,css,mysql,pandas,pyecharts版本不兼容解决方法:python版本:3.6pyecharts版本:1.9.0CMD安装命令:pipinstallpyecharts=1.9.0安装了pyecharts怎么办但不知道版本?CMD命令:可以在pip列表中查看页面示例(多图组合):frompyechartsimportoptionsasoptsfrompyecharts.chartsimportBar,Grid,Line,Liquid,Page,Piefrompyecharts.commons.utilsimportJsCodefrompyecharts。componentsimportTablefrompyecharts.fakerimportFakerdefbar_datazoom_slider()->Bar:c=(Bar().add_xaxis(Faker.days_attrs).add_yaxis("业务A",Faker.days_values).set_global_opts(title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-horizo??ntal)"),datazoom_opts=[opts.DataZoomOpts()],))returncdefline_markpoint()->Line:c=(Line().add_xaxis(Faker.choose()).add_yaxis("商家A",Faker.values(),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="min")]),)。add_yaxis("商家B",Faker.values(),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max")]),).set_global_opts(title_opts=opts.TitleOpts(title="Line-MarkPoint")))返回cdefpie_rosetype()->Pie:v=Faker.choose()c=(Pie().add("",[list(z)forzinzip(v,Faker.values())],radius=["30%","75%"],center=["25%","50%"],rosetype="radius",label_opts=opts.LabelOpts(is_show=False),)。add("",[list(z)forzinzip(v,Faker.values())],radius=["30%","75%"],center=["75%","50%"],rosetype="面积",).set_global_opts(title_opts=opts.TitleOpts(title="Pie-RoseDiagramExample")))returncdefgrid_mutil_yaxis()->Grid:x_data=["{}month".format(i)foriinrange(1,13)]bar=(Bar().add_xaxis(x_data).add_yaxis("蒸发",[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3],yaxis_index=0,color="#d14a61",).add_yaxis("降水量",[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3],yaxis_index=1,color="#5793f3",).extend_axis(yaxis=opts.AxisOpts(name="evaporation",type_="value",min_=0,max_=250,position="right",axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#d14a61")),axislabel_opts=opts.LabelOpts(格式r="{value}ml"),)).extend_axis(yaxis=opts.AxisOpts(type_="value",name="温度",min_=0,max_=25,position="left",axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#675bba")),axislabel_opts=opts.LabelOpts(formatter="{value}°C"),splitline_opts=opts.SplitLineOpts(is_show=True,linestyle_opts=opts.LineStyleOpts(opacity=1)),)).set_global_opts(yaxis_opts=opts.AxisOpts(name="降水量",min_=0,max_=250,position="right",offset=80,axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#5793f3")),axislabel_opts=opts.LabelOpts(formatter="{value}ml"),),title_opts=opts.TitleOpts(title="Grid-多Y轴示例"),tooltip_opts=opts.TooltipOpts(trigger="axis",axis_pointer_type="cross"),))line=(Line().add_xaxis(x_data).add_yaxis("平均温度",[2.0,2.2,3.3,4.5,6.3,10.2,20.3,23.4,23.0,16.5,12.0,6.2],yaxis_index=2,color="#675bba",label_opts=opts.LabelOpts(is_show=False),))bar.overlap(line)返回Grid().add(bar,opts.GridOpts(pos_left="5%",pos_right="20%"),is_control_axis_index=True)defliquid_data_precision()->Liquid:c=(Liquid().add("lq",[0.3254],label_opts=opts.LabelOpts(font_size=50,格式化程序=JsCode("""function(param){return(Math.floor(param.value*10000)/100)+'%';}"""),position="inside",),).set_global_opts(title_opts=opts.TitleOpts(title="液体-数据精度")))returncdeftable_base()->Table:table=Table()headers=["城市名称","面积","人口","年降雨量"]rows=["布里斯班",5905,1857594,1146.4],["阿德莱德",1295,1158259,600.5],["",112,120900,1714.7],["霍巴特",1357,205556,619.5],["悉尼",2058,4336374,1214.8],["墨尔本",1566,3806092,646.9],["珀斯",5386,1554769,869.4],]table.add(headers,rows).set_global_opts(title_opts=opts.ComponentTitleOpts(title="Table"))返回tabledefpage_draggable_layout():page=Page(layout=Page.DraggablePageLayout)页面。添加(bar_datazoom_slider(),line_markpoint(),pie_rosetype(),grid_mutil_yaxis(),liquid_data_precision(),table_base(),)page.render("page_draggable_layout.html")if__name__=="__main__":page_draggable_layout()快捷入口:https://gallery.pyecharts.org...布局样式设置:如何将这些图组合起来怎么样?个人选择一个比较无脑的,用BeautifulSoup获取标签设置样式,想去哪里就去哪里,css样式忘记了-请点开菜鸟CSS官网教学示例示例:withopen("YG_view.html","r+",encoding='utf-8')ashtml:html_bf=BeautifulSoup(html,'lxml')#stylelabels=html_bf.select('tbody')labels[0]["style"]="text-align:center;"提示:一般一个图表在一个div中,只要获取div标签循环遍历设置即可继续...