【python可视化大屏】使用python实现可拖拽数据可视化大屏_python实现数据大屏
给单个的写好以后,add到layout中就可以了,像不像搭积木一样的
def page_draggable_layout(): page = Page(layout=Page.DraggablePageLayout) page.add( bar_datazoom_slider(), line_markpoint(), pie_rosetype(), grid_mutil_yaxis(), liquid_data_precision(), table_base(), ) page.render(“page_draggable_layout.html”)
之前我们实现了单个的可视化,具体如下:
![在这里插入图片描述]()
还有词云
![在这里插入图片描述]()
然后单个的代码如下:
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar
读取CSV数据
df = pd.read_csv(‘./weiboData.csv’)
处理粉丝数(以“万”为单位的情况)
df[‘粉丝数’] = df[‘粉丝数’].apply(lambda x: float(x.replace(‘万’, ‘’)) * 10000 if ‘万’ in str(x) else float(x))
选择粉丝数前20的用户
top20_users = df.nlargest(20, ‘粉丝数’)
c = (
Bar(init_opts=opts.InitOpts(renderer=‘svg’))
.add_xaxis(list(top20_users[‘评论用户名’]))
.add_yaxis(“粉丝数”, list(top20_users[‘粉丝数’]))
.add_yaxis(“关注数”, list(top20_users[‘关注人数’]))
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position=“right”))
.set_global_opts(title_opts=opts.TitleOpts(title=“评论用户粉丝前20情况”))
.render(“fans.html”)
)
还有其他的,我就不一一列代码了
然后我们现在的工作就是给他们整合到一起就可以了
具体,比如说我们可以先整合这个showFans.py的代码,
就是这个样子:
ef showFans() -> Bar:
df = pd.read_csv(‘./weiboData.csv’)
# 处理粉丝数(以“万”为单位的情况)
df['粉丝数'] = df['粉丝数'].apply(lambda x: float(x.replace('万', '')) \* 10000 if '万' in str(x) else float(x))
# 选择粉丝数前20的用户
top20_users = df.nlargest(20, '粉丝数')
c = (
Bar(init_opts=opts.InitOpts(renderer='svg',theme="dark"))
.add_xaxis(list(top20_users['评论用户名']))
.add_yaxis("粉丝数", list(top20_users['粉丝数']))
.add_yaxis("关注数", list(top20_users['关注人数']))
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts(title="评论用户粉丝前20情况"))
)
return c # 返回图表对象而不是调用 render 函数
def pageLayout():
创建拖拽布局的页面
page = Page(layout=Page.DraggablePageLayout)
# 添加自定义图表函数
page.add(
showFans()
)
# 渲染页面
page.render("demo.html")
这样就给一个整合好了,然后后面的就是无脑操作了。
之后我们运行代码会产生一个demo.html的文件(这个文件命名自定义,我的代码里写的是demo.html,你也可以叫其他的名字,都可以的),点击这个文件就会展示我们的大屏,下面就是最终的效果了
![在这里插入图片描述]()
我们可以看到在图的左上角有一个save config,这个的作用呢其实就是为了保存我拖拉拽排版大屏之后的配置文件。就是说,当我们进行拖拽各个单独的可视化文件的时候,各个子可视化文件之间会有对应的位置信息,这个config文件呢就是记录这些信息的。
![在这里插入图片描述]()
当我们进行排版好以后,我们就看可以点击save config然后保存这个config信息。
之后我们展示正式的大屏的时候时候,加载这个config文件就可以展示了。这个就是正式的版本了。
![在这里插入图片描述]()
![在这里插入图片描述]()
完成了上面的操作以后,然后就是使用demo.html和chart\_config.json来实现正式版本的大屏。具体实现代码如下:
from pyecharts.charts import Page
Page.save_resize_html(
source=“demo.html”,
cfg_file=“chart_config.json”,
dest=“final_dashboard.html”)
然后我们在运行这个代码,就会产生一个final\_dashboard.html文件,我们双击这个文件就会看到最终的效果了。
由于笔者能力有限,所以在阐述的时候难免有些不准确的地方,还请大家多多包涵!
完整源码[【python可视化大屏】使用python实现可拖拽数据可视化大屏]( )
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img]()
![img]()
![img]()
![img]()
![img]()
![img]()
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**
升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**
![]()
