前段时间,给大家分享过 20 个炫酷的数据可视化大屏,源代码都是基于 echarts 的,于是我产生了用 Python 来实现数据可视化大屏的想法。
参考上面这个模板,我计划用 pyecharts 实现一个类似的数据可视化大屏。
今天先绘制中间的数据地图,为了方便演示,我们采用一个超市数据集,数据来源于 Tableau 官方示例。
如果你还没有安装 pyecharts,那么请先打开命令行,运行以下代码:
# 安装或更新 v1 以上版本,目前是 1.9.0
pip3 install pyecharts -U
在 Jupyter Lab 中新建一个 Notebook,运行以下代码:
# 声明 Notebook 类型,必须在引入 pyecharts.charts 等模块前声明
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
# 导入相关库
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.globals import ThemeType
import pandas as pd
# 从 data 文件夹读取 Excel 中的数据
df = pd.read_excel('./data/超市数据.xlsx')
# 用数据透视表的方法汇总各省销售额
province_sale = df.pivot_table(values='销售额', index='省/自治区', aggfunc=sum)
# 把数据整理成绘图所需的列表格式,规范名称,销售额换算成万元,保留一位小数
list_province_sale = [list(z) for z in zip(province_sale.index.str.replace('自治区', ''), round(province_sale.销售额/10000, 1))]
# 求各省销售额的最大值
max_sale = round(province_sale.销售额.max()/10000,0)
# 标题,数字千分位格式显示
title = "{:,}".format(int(province_sale.销售额.sum()))
# 副标题
subtitle = '\t\t2016年到2019年总销售额'
# 绘制地图
c = (
# 主题样式和背景颜色
Map(init_opts=opts.InitOpts(theme=ThemeType.SHINE, chart_id=1, bg_color='#00589F'))
# 添加地图数据
.add("", list_province_sale, "china")
# 全局配置
.set_global_opts(
# 标题文字
title_opts=opts.TitleOpts(title=title,
# 副标题
subtitle=subtitle,
# 标题位置
pos_left='39%', pos_top=20,
# 标题颜色和大小
title_textstyle_opts=opts.TextStyleOpts(color="#FBC171", font_size=36),
# 副标题颜色和大小
subtitle_textstyle_opts=opts.TextStyleOpts(color="#CCCCCC", font_size=15)),
# 可视化组件参数
visualmap_opts=opts.VisualMapOpts(
# 最大值
max_=max_sale,
# 显示精确的分段值
is_piecewise=True,
# 图例位置
pos_left='30%', pos_bottom=10,
# 图例字体颜色
textstyle_opts=opts.TextStyleOpts(color="#FFFFFF")))
# 隐藏文字标签
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
# 在 Jupyter Lab 中第一次渲染时需要调用
_ = c.load_javascript()
然后,运行以下代码:
# 需要与 load_javascript 在不同的单元格中运行
c.render_notebook()
就能得到如下数据地图:
对于颜色的深浅和气泡的大小,我们的感知能力其实是比较弱的,通常很难精准地判断差异。
从有效传递信息的角度来看,我认为上面这种分段式的数据地图,比普通的热力地图和气泡地图更加有效。
喜欢文章的话,点个“在看”哦
前段时间,给大家分享过20 个炫酷的数据可视化大屏,源代码都是基于 echarts 的,于是我产生了用 Python 来实现数据可视化大屏的想法。参考上面这个模板,我计划用 pyech...
主要内容:python数据可视化大屏;
适用人群:Python初学者,数据分析师,或有志从事数据分析工作的人员;
准备软件:Anaconda(Spyder:代码编译)或Pycharm、Navicat Premium 12(数据库)。
1、Pyecharts图表;
2、连接数据库(bartest.py含数据库连接代码);
3、大屏看板-监控中心。
三、使用库
1、pyecharts
2、pymysql
3、BeautifulSoup
4、operator
文章目录Pyecharts可视化Map世界地图柱状图、饼图Pyecharts组合图表
ECharts是由百度开源的基于JS的商业级数据图表库,有很多现成的图表类型和实例,而Pyecharts则是为了方便我们使用Python实现ECharts的绘图。使用Pyecharts制作可视化大屏,可以分为两步:
1、使用分别Pyecharts分别制作各类图形;
2、使用Pyecharts中的组合图表功能,将所有图片拼接在一张html文件中进行展示。
小五认为影响大屏美观最重要的两个因素就是:配色和布局!在本文中,会特意
其实可视化大屏这几年都很流行,像智慧城市建设、交通物流、零售数据、实时监控等各行各业都开始用大屏来进行数据展示,相比于传统的Excel报表,超大屏幕、炫酷效果的大屏能让数据展现更加美观、直观和易于接受。
如何制作大屏?
可能很多人看到大屏作品之后
1. D3.js:这是一个用于制作交互式、动态数据可视化的JavaScript库。
2. ECharts:这是一个基于JavaScript的可视化库,可以创建动态交互式图表和地图。
3. Highcharts:这是一个可定制的JavaScript图表库,拥有各种图表类型和选项。
4. Tableau:这是一种商业的数据可视化工具,可以通过拖放操作轻松创建交互式图表和仪表板。
您可以根据实际需求选择适合您的工具和库来制作数据可视化大屏。