【python可视化大屏】使用python实现可拖拽数据可视化大屏

本文介绍了如何使用Python的pyecharts库创建可拖拽的数据可视化大屏,包括安装库、编写代码示例和实现步骤,以及如何通过保存配置文件实现定制化布局。
摘要由CSDN通过智能技术生成

介绍:

我在前几期分享了关于爬取weibo评论的爬虫,同时也分享了如何去进行数据可视化的操作。但是之前的可视化都是单独的,没有办法在一个界面上展示的。这样一来呢,大家在看的时候其实是很不方便的,就是没有办法一目了然的看到数据的规律。为了解决这个问题我使用pyecharts实现了一个可视化的大屏。接下来为大家分享一下

视频分享:

【python可视化大屏】使用python实现可拖拽数据可视化大屏

可视化大屏展示:

可视化大屏1
在这里插入图片描述
可视化大屏2:
在这里插入图片描述
实现流程解析:
本次实现使用的是pyecharts这个库
第一步肯定是安装pyecharts这个库了
安装可以使用pip进行安装,命令如下:

pip install pyecharts

如果安装不成功的话,可以使用清华镜像站进行安装,命令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts

第二步就是写代码了,其实我们可以到pyecharts的官网上看一下案例的。一看就基本上知道怎么写的了。
下面的这个就是pyecharts的网站了。
在这里插入图片描述
我们随便点击一个案例看一下
在这里插入图片描述
可以看到案例代码写的非常的详细,需要哪些库,然后数据的格式是怎样的一目了然。
然后我们按照对应的代码写就可以了。
下面就是pyecharts官方给的拖拉拽的可视化效果,可以给代码拿下来运行体验一下
在这里插入图片描述
阅读了代码以后,我总结一下其实实现拖拉拽的数据可视化大屏就是给原来单个的可视化图表add到布局的layout就可以了。
下面是我总结的代码模板:

def bar_datazoom_slider01() -> 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-水平)"), datazoom_opts=[opts.DataZoomOpts()], ) ) return c
def bar_datazoom_slider02() -> 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-水平)"), datazoom_opts=[opts.DataZoomOpts()], ) ) return c

给单个的写好以后,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实现可拖拽数据可视化大屏

  • 20
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: Encharts数据可视化大屏是一种基于JavaScript库的强大而灵活的工具,可以帮助用户将数据转化成具有鲜明视觉效果的图表和图形。它提供了各种各样的图表类型,包括柱状图、折线图、饼图、雷达图等,用户可以根据自己的需求选择合适的图表类型展示数据。 使用Encharts数据可视化大屏,用户可以轻松地创建交互式的数据可视化界面。用户可以通过简单的配置和操作,实时更新和切换不同的数据展示方式,同时还可以加入交互功能,比如点击图表查看详细数据、拖动图表缩放等。 Encharts数据可视化大屏的优势之一是其强大的定制性。用户可以根据自己的需求自定义图表的样式、颜色、标签等,使之与企业或个人的风格相匹配。此外,Encharts还支持多种数据源的接入,包括本地数据、数据库、API接口等,用户可以根据需求从不同的数据源中获取数据并进行可视化展示。 Encharts数据可视化大屏适用于各种场景和行业。它可以被广泛应用于企业的数据报告、营销分析、实时监控等领域。通过将数据可视化展示,用户可以更清晰地了解数据的趋势、关系和模式,从而做出更准确的决策和预测。 总结来说,Encharts数据可视化大屏是一款强大而灵活的工具,能够帮助用户将数据转化成具有鲜明视觉效果的图表和图形,并实现交互和定制。它适用于各种场景和行业,为用户提供更直观、清晰的数据展示体验。 ### 回答2: 使用Encharts数据可视化大屏,可以实现将大量的数据以直观、易懂的方式展示出来。 Encharts是一个基于HTML5 Canvas的开源数据可视化库,它提供了各种图表类型,包括饼图、柱状图、折线图、地图等,可以满足不同的需求。通过使用Encharts,我们可以将数据转化为可视化的图表,让数据更容易理解和分析。 在数据可视化大屏中,可以使用Encharts创建多个图表,并将它们组织在一个界面上展示。这些图表可以对应不同的数据维度和指标,例如销售额、用户活跃度、地理位置等。通过将这些图表放在一起,我们可以一目了然地看到各种指标之间的关系和趋势。 在Encharts的大屏中,还可以添加交互功能,例如鼠标悬停提示信息、点击图表切换数据视图等。这些交互功能可以帮助用户更深入地探索数据,发现隐藏的模式和见解。 此外,Encharts还提供了丰富的配置选项,可以自定义图表的样式、布局和动画效果,使大屏更加美观和具有吸引力。 总之,通过使用Encharts数据可视化大屏,我们可以以一种直观、易懂的方式展示大量的数据,帮助用户更好地理解数据并做出决策。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陶陶name

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值