Advertisement

【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)**
![]()
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    

全部评论 (0)

还没有任何评论哟~