相关文章推荐
聪明的冰棍  ·  Navicat for Sqlite ...·  5 月前    · 
刚毅的灭火器  ·  通过V$SESSION视图查看当前数据库会话 ...·  4 月前    · 
卖萌的烤土司  ·  【【专家观点】东数西算高楼渐起——全国算力一 ...·  4 月前    · 
时尚的蜡烛  ·  AWS DMS 数据验证 - AWS ...·  4 月前    · 
温柔的黄花菜  ·  mysql怎么根据逗号将一行数据拆分成多行数 ...·  4 月前    · 
喝醉的羽毛球  ·  随机生成美观调色板的算法-腾讯云开发者社区-腾讯云·  1 年前    · 
大鼻子的领带  ·  ConvertOperators.ToStr ...·  1 年前    · 
曾经爱过的刺猬  ·  Jenkins结合ansible实现虚机部署 ...·  2 年前    · 
英俊的水桶  ·  AI实战营第二期 第十节 《MMagic ...·  2 年前    · 
谦和的数据线  ·  函数模板 | Microsoft Learn·  2 年前    · 
Code  ›  用 pyecharts 制作数据可视化大屏之数据地图开发者社区
pyecharts 数据可视化 大数据
https://cloud.tencent.com/developer/article/1784309
咆哮的梨子
2 年前
作者头像
张俊红
0 篇文章

用 pyecharts 制作数据可视化大屏之数据地图

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 张俊红 > 用 pyecharts 制作数据可视化大屏之数据地图

用 pyecharts 制作数据可视化大屏之数据地图

作者头像
张俊红
发布 于 2021-02-03 12:07:05
2.4K 0
发布 于 2021-02-03 12:07:05
举报

前段时间,给大家分享过 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"))) 
    # 隐藏文字标签
 
推荐文章
聪明的冰棍  ·  Navicat for Sqlite 合并两个相同的数据库(扩充数据库内容)_sqlite_程序小小说-DAMO开发者矩阵
5 月前
刚毅的灭火器  ·  通过V$SESSION视图查看当前数据库会话信息-云原生数据库 PolarDB-阿里云
4 月前
卖萌的烤土司  ·  【【专家观点】东数西算高楼渐起——全国算力一张网 东西协同一盘棋】-国家发展和改革委员会
4 月前
时尚的蜡烛  ·  AWS DMS 数据验证 - AWS 数据库迁移服务
4 月前
温柔的黄花菜  ·  mysql怎么根据逗号将一行数据拆分成多行数据 - 开发技术 - 亿速云
4 月前
喝醉的羽毛球  ·  随机生成美观调色板的算法-腾讯云开发者社区-腾讯云
1 年前
大鼻子的领带  ·  ConvertOperators.ToString (Spring Data MongoDB 4.4.0 API)
1 年前
曾经爱过的刺猬  ·  Jenkins结合ansible实现虚机部署-腾讯云开发者社区-腾讯云
2 年前
英俊的水桶  ·  AI实战营第二期 第十节 《MMagic 代码课》——笔记11 - 知乎
2 年前
谦和的数据线  ·  函数模板 | Microsoft Learn
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号