0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python制作可视化大屏全流程详解

数据分析与开发 来源:快学Python 作者:朱小五 2021-11-01 09:32 次阅读
今天详细讲一下Pyecharts制作可视化大屏。注意,本文由于篇幅问题不会放置全部代码,会在文末提供全部代码的下载

ECharts是由百度开源的基于JS的商业级数据图表库,有很多现成的图表类型和实例,而Pyecharts则是为了方便我们使用Python实现ECharts的绘图。使用Pyecharts制作可视化大屏,可以分为两步:

1、使用分别Pyecharts分别制作各类图形;

2、使用Pyecharts中的组合图表功能,将所有图片拼接在一张html文件中进行展示。

小五认为影响大屏美观最重要的两个因素就是:配色布局!在本文中,会特意强调这两点。

Pyecharts可视化

本文缩减了图表,只选用2020东京奥运会各国金牌分布图、2020东京奥运会奖牌榜详情、2020东京奥运会中国各项目获奖详情。

这类图表都很简单,参照官方文档直接复制示例就可以学习。图表配色都使用的Pyecharts默认颜色,大家实际使用时尽量形成自己的风格。

Map世界地图

Pyecharts绘制世界地图时,名称必须是英文。所以我们在前文中引入了国家名称中英文对照表,左连接形成了df4

单独提取英文名称和奖牌总数两列数据,用来可视化。

data_list=[[i,j]fori,jinzip(df4['英文名称'],df4['奖牌总数'])]
data_list[:5]
75f4d06c-3a58-11ec-82a9-dac502259ad0.png

数据准备好了,开始利用pyecharts绘制世界地图。

frompyechartsimportoptionsasopts
frompyecharts.chartsimportMap

c=(
Map()
.add("",data_list,"world",
is_map_symbol_show=False,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="2020东京奥运会各国金牌分布图"),
visualmap_opts=opts.VisualMapOpts(max_=100)
)
)

c.render_notebook()

非常简单
同理,依次绘制其他两类图形。

柱状图、饼图

柱状图(Bar)

frompyechartsimportoptionsasopts
frompyecharts.chartsimportBar

c=(
Bar()
.add_xaxis(df4['名称'].head(25).tolist())
.add_yaxis("金牌",df4['金牌'].head(25).tolist(),stack="stack1")
.add_yaxis("银牌",df4['银牌'].head(25).tolist(),stack="stack1")
.add_yaxis("铜牌",df4['铜牌'].head(25).tolist(),stack="stack1")
.set_series_opts(label_opts=opts.LabelOpts(is_show=True,position="inside",font_size=12,color='#FFFFFF'))
.set_global_opts(title_opts=opts.TitleOpts(title="2020东京奥运会奖牌榜详情"),
xaxis_opts=opts.AxisOpts(type_='category',
axislabel_opts=opts.LabelOpts(
rotate=45),
)))
c.render_notebook()

饼图(Pie)

frompyechartsimportoptionsasopts
frompyecharts.chartsimportPie

c=(
Pie()
.add("",[['跳水',12],['射击',11],['举重',8],['竞技体操',8],['乒乓球',7],['游泳',6],['羽毛球',6],['田径',5],['静水皮划艇',3],['蹦床体操',3],['自由式摔跤',3],['赛艇',3],['空手道',2],['拳击',2],['帆船',2],['花样游泳',2],['跆拳道',1],['场地自行车赛',1],['古典式摔跤',1],['击剑',1],['三人篮球',1]],
center=["50%","60%"],)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}"))
)
c.render_notebook()

这样需要用到的三张图表就绘制好了。
Pyecharts组合图表

Pyecharts进行可视化大屏第二步就是组合图表,大致可分为四类:

  • Grid:并行多图
  • Page:顺序多图
  • Tab:选项卡多图
  • Timeline:时间线轮播多图

官方文档:https://pyecharts.org/#/zh-cn/composite_charts

这里用Page(顺序多图)居多,在组合图表之前,还要先把前面的图表绘制代码改为函数。

defmap_world()->Map:
c=(
Map(init_opts=opts.InitOpts(chart_id=2,bg_color='#ADD8E6'))
.add("",data_list,"world",
is_map_symbol_show=False,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="2020东京奥运会各国金牌分布图"),
visualmap_opts=opts.VisualMapOpts(max_=100)
)
)
returnc

顺便还在其中增加了背景颜色bg_color、图表IDchart_id,后者用于多图表时定位区分。背景颜色的话,我选择了淡蓝色#ADD8E6。后续图片的布局是根据图表ID的对应关系进行布局,所以每张图都要分别设置其id。
接着使用page = Page(layout= Page.DraggablePageLayout)模式对图片进行展示,这一步是为了调整布局。

page=Page(layout=Page.DraggablePageLayout,page_title="2020东京奥运会奖牌榜")

#在页面中添加图表
page.add(
title(),
map_world(),
bar_medals(),
pie_china(),)

page.render('test.html')

调用绘制函数后生成一个 test.html 文件。

打开后可以其中的图片进行拖拽,来实现自定义布局。

对图片布局完毕后,要记得点击左上角“save config”对布局文件进行保存。

点击后,本地会生成一个chart_config.json的文件,这其中包含了每个图表ID对应的布局位置。

最后,调用保存好的布局文件,重新生成html。

运行下面这行代码。

page.save_resize_html('test.html',cfg_file='chart_config.json',dest='奥运.html')

其中test.html 为生成的所有图表的文件、chart_config.json 为下载的布局文件、奥运.html 为布局好的的仪表盘文件、打开仪表奥运.html:

这样就实现了一次数据可视化——大屏展示。

但还有还有很多不足之处,比如若图表配色没有特殊去做调整。

整张大屏只是一个静态的展示,而非具有商业场景的数据仪表盘。

真正的数据大屏往往更喜欢用BI软件生成,能够实现图、表、切片器之间交叉筛选,希望以后有机会能用Python使用制作出来。

编辑:jq
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6876

    浏览量

    88806
  • 代码
    +关注

    关注

    30

    文章

    4742

    浏览量

    68330
  • python
    +关注

    关注

    56

    文章

    4781

    浏览量

    84440

原文标题:Python 制作可视化大屏全流程!

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    可视化数据大制作流程

    制作可视化数据大是一项涵盖数据分析、设计和技术实现的复杂任务。从数据处理到展示呈现,每个步骤都至关重要。下面将详细介绍可视化数据大
    的头像 发表于 07-24 13:57 254次阅读

    数据可视化 开源

    在当今信息爆炸的时代,数据已经成为各个行业决策制定和业务发展的关键。为了更直观、准确地理解和利用海量数据, 大数据可视化 成为一种强大的工具。通过将数据以图表、图形等形式展示在大屏幕上,不仅
    的头像 发表于 06-27 16:06 372次阅读
    大<b class='flag-5'>屏</b>数据<b class='flag-5'>可视化</b> 开源

    如何实现园区大可视化

    如何实现园区大可视化? 1.建立孪生模型:首先需要建立园区的孪生模型,即一个数字的虚拟模型,反映了园区的实际情况、结构、设备、人员等信息。这个模型可以通过传感器、监控设备、GIS 数据等实时获取和更新,确保与实际情况保持
    的头像 发表于 06-19 15:39 378次阅读
    如何实现园区大<b class='flag-5'>屏</b><b class='flag-5'>可视化</b>?

    物联网时代,为什么需要可视化数据大

    在互联网和大数据时代,工业领域日益增长的数据量越来越离不开数据分析的支持,可视化数据大便是集中数据并展示出来的重要平台,能够将各个工厂、车间、设备的数据集中并实现可视化分析,让管理层更好的了解生产
    的头像 发表于 06-18 13:53 317次阅读
    物联网时代,为什么需要<b class='flag-5'>可视化</b>数据大<b class='flag-5'>屏</b>

    智慧大是如何实现数据可视化的?

    智慧大,作为数据可视化的重要载体,已在城市管理、交通监控、商业运营等领域广泛应用。本文旨在阐述智慧大实现数据可视化的关键技术和方法,包括数据源管理、数据处理、视觉编码、用户界面与交
    的头像 发表于 06-04 15:02 552次阅读
    智慧大<b class='flag-5'>屏</b>是如何实现数据<b class='flag-5'>可视化</b>的?

    数据可视化的作用和意义

    数据可视化是指利用大屏幕设备展示数据信息,通过图表、图像、动画等视觉手段将数据呈现出来,以便用户能够直观、清晰地理解数据背后的含义和关联。在信息化时代,数据已经成为企业决策和运营的重要依托,而
    的头像 发表于 06-03 17:56 627次阅读

    三维可视化数据大的设计原理和技巧

    三维可视化数据大设计面向交通、园区、城市、建筑、应急等领域的客户,以孪生可视能力赋能,提供行业解决方案。双渲染引擎,1:1还原真实世界,在模型运行流畅的基础上提供极佳的视觉效果。今天,古河云
    的头像 发表于 05-30 17:09 461次阅读

    数据可视化是什么?运用了什么技术

    数据可视化 是一种利用大屏幕设备展示数据可视化结果的技术,旨在以更生动、直观的方式呈现数据信息。这种数据展示方式广泛应用于各种场景,包括会议、展览、监控中心等,旨在帮助用户更快速、准确地理
    的头像 发表于 05-24 15:35 803次阅读

    三维可视化是怎么做的?特点有哪些?

    的应用场景中占据着重要部分,很多业务都需要以三维可视化的方式呈现与交互,它能够帮助用户更直观地理解复杂的数据和信息。以下是关于三维可视化的三维地图的制作过程以及功能特点: 三维地图制作
    的头像 发表于 04-28 15:12 460次阅读
    三维<b class='flag-5'>可视化</b>是怎么做的?特点有哪些?

    FUXA基于Web的过程可视化软件案例

    FUXA——基于Web的过程可视化软件
    发表于 04-24 18:32 1次下载

    基于高光谱技术的红茶茶多酚可视化研究

    基于高光谱技术的红茶茶多酚可视化研究红茶是一种发酵茶叶,因其风味独特而受到消费者青睐。
    的头像 发表于 04-22 18:08 729次阅读
    基于高光谱技术的红茶茶多酚<b class='flag-5'>可视化</b>研究

    物联网可视化监控大如何实现?有什么功能?

    在物联网飞速发展的时代,可视化监控大成为了众多企业和机构实现智能管理和监控的重要工具。它将各种各样设备的运行状态和数据以图形、图表、动画等形式展示在大或其他移动设备上,使得用户能
    的头像 发表于 04-11 09:25 784次阅读

    可视化全程追溯,可视化资产管理系统

    管理系统以智能技术为核心,融合了实时监控、数据分析与可视化展示等功能,为企业提供了完整的资产管理解决方案。它能够有效地追踪和管理企业的固定资产、设备和库存物资,帮助企业实现资产的生命周期管理。借助这一系统
    的头像 发表于 01-11 13:54 456次阅读
    <b class='flag-5'>可视化</b>全程追溯,<b class='flag-5'>可视化</b>资产管理系统

    一键生成可视化图表/大 这13款数据可视化工具很强大

    前言 数字经济时代,我们每天正在处理海量数据,对数据可视化软件的需求变得突出,它可以帮助人们通过模式、趋势、仪表板、图表等视觉辅助工具理解数据的重要性。 如果遇到数据集需要分析处理,但是你不又知道
    的头像 发表于 12-19 17:27 5233次阅读
    一键生成<b class='flag-5'>可视化</b>图表/大<b class='flag-5'>屏</b> 这13款数据<b class='flag-5'>可视化</b>工具很强大

    基于LVGL驱动的OLED的FFT声音实时可视化

    本项目旨在利用LVGL驱动的 Xiao-expansion-board的OLED显示实现FFT声音数据的实时可视化。关键内容包括利用LVGL库在OLED屏幕上进行数据可视化展示,在XIAO ESP32S3 Sense 上进行声
    的头像 发表于 11-25 14:20 3332次阅读
    基于LVGL驱动的OLED<b class='flag-5'>屏</b>的FFT声音实时<b class='flag-5'>可视化</b>