pyechart数据可视化13 数据大屏 仪表盘 添加不同背景图丨2021年中国彩票销售额

本专题将结合pyechart案例及行业数据, 提供各维度图表模板, 详细介绍参数功能, 就算不懂编程也可以轻松使用, 欢迎大家关注, 别走丢!

仪表盘布局如果添加不同背景图?

提前准备

  • 安装Anaconda软件
    下载地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
    使用jupyter notebook 或者spyder
  • 安装pyechart工具包
    pyechart工具包有1.0版本和0.5版本, 请下载1.0以上版本
pip install pyecharts -U

模板13: 效果图

pyechart数据可视化13 数据大屏 仪表盘 添加不同背景图丨2021年中国彩票销售额

第1步: 导入工具包

import pandas as pd
import numpy as np
from pyecharts import options as opts
from pyecharts.charts import Map,Line,Bar
from pyecharts.globals import ThemeType
from pyecharts.commons.utils import JsCode

重点是JsCode, 设置背景图片

第2步: 读取数据

data = pd.read_excel('./data/彩票.xlsx',sheet_name=None)
data

pyechart数据可视化13 数据大屏 仪表盘 添加不同背景图丨2021年中国彩票销售额

数据为字典格式

第3步: 作图

第1个图: 柱形图

data1 = data['2020年3月-2021年2月中国彩票销售额']
data1

pyechart数据可视化13 数据大屏 仪表盘 添加不同背景图丨2021年中国彩票销售额

bar = (
    Bar(init_opts=opts.InitOpts(width="1200px", height="500px",theme='light'))  # 设置图表大小
    .add_xaxis(data1['时间'].tolist())   # 设置柱形图的x轴, 必须写.tolist()
    .add_yaxis(
        series_name="销售额(亿元)",  # y轴系列名称
        y_axis=data1['销售额(亿元)'].tolist(),   # 系列书籍
        label_opts=opts.LabelOpts(is_show=True,position='top',formatter="{c}"),# 数字标签显示样式
        itemstyle_opts=opts.ItemStyleOpts(color="#51c4d3",opacity=1),     # 柱形图颜色  ,透明度
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(title="2020年3月-2021年2月中国彩票销售额",  # 主标题
                                      subtitle="",   #副标题
                                      pos_top='5%',
                                      title_textstyle_opts=opts.TextStyleOpts(font_size=15,color='white'),
                                      pos_left='center'),  # 位置
            tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),  # 鼠标交叉十字显示
            legend_opts=opts.LegendOpts(is_show=True,pos_top="bottom"),  # 图例
            yaxis_opts=opts.AxisOpts(                     # 显示y轴网格线
                is_show=False,
                type_="value",
                axistick_opts=opts.AxisTickOpts(is_show=False),   # 坐标轴商的刻度是否显示
                axisline_opts=opts.AxisLineOpts(is_show=False), # y轴线
                splitline_opts=opts.SplitLineOpts(is_show=True),   # y轴网格线是否显示
        ))
    )


bar.render('13_2020年3月-2021年2月中国彩票销售额.html')

第2个图: 地图

data2 = data['2021年1-2月中国各地区彩票累计销售额']
data2

pyechart数据可视化13 数据大屏 仪表盘 添加不同背景图丨2021年中国彩票销售额

map2 = (
    Map(init_opts=opts.InitOpts(width="1400px", height="700px",theme='light'))  # 设置图表大小 主题风格 ThemeType.LIGHT  Dark ,theme='vintage'
    .add("省份", # 系列名称
         [list(z) for z in zip(data2['省市'], data2['累计销售额(亿元)'])], # 数据
         "china",  # 地图
         is_map_symbol_show=False, # 不显示小红点
        )
     
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2021年1-2月中国各地区彩票累计销售额",  # 图表标题
                                  title_textstyle_opts=opts.TextStyleOpts(font_size=15, color='white'), #字体大小  T
                                  pos_left='center', # 标题位置
                                  pos_top='5%'), 
        legend_opts=opts.LegendOpts(is_show=False), # 图例是否显示
        visualmap_opts=opts.VisualMapOpts(max_=60, # 最大值
                                          is_piecewise=True, # 是否为分段型
                                          split_number=6,  # 分多少段
                                          range_text=['亿元',''], # 上下显示的文字
                                          range_color=["#d9ecf2", "#a2d5f2", "#e8ffc1", "#a5ecd7", "#51adcf", "#0278ae"],#颜色
                                          pos_left='20%',
                                          pos_top='70%',
                                         ),
    ))
map2.render("./13_2021年1-2月中国各地区彩票累计销售额.html")

第3个图: 目的是添加仪表盘名称及背景图

# 标题
line3 = (
    Line(init_opts=opts.InitOpts(width="1250px", 
                                 height="700px",
                                 bg_color={"type": "pattern", "image": JsCode("img"), "repeat": "no-repeat"}))
    .add_xaxis([None])
    .add_yaxis("", [None]) 
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2021年中国彩票销售额",
                                  subtitle='更新日期: 2021/4/11',
                                  pos_left='center',
                                  title_textstyle_opts=opts.TextStyleOpts(font_size=25, color='#51c2d5'),
                                  pos_top='5%'),
        yaxis_opts=opts.AxisOpts(is_show=False),
        xaxis_opts=opts.AxisOpts(is_show=False))
)
line3.add_js_funcs(
    """
    var img = new Image(); img.src = 'http://img.netbian.com/file/2019/1121/5e4911c7c44d251ee030cfafe3660394.jpg';
    
    """
)
line3.render('./13_辅助.html')

通过bg_color和add_js_funcs 两个地方设置,修改图表背景图

组合

page = Page(layout=Page.DraggablePageLayout)
page.add(line3,bar,map2)
page.render("2021年1-2月中国各地区彩票累计销售额.html")

调整几个图表位置后,保存为一个json文件

重新渲染

# 重新布局
Page.save_resize_html("2021年1-2月中国各地区彩票累计销售额.html", 
                      cfg_file="./布局文件/chart_config (3).json", 
                      dest="2021年1-2月中国各地区彩票累计销售额_re2.html")

pyechart数据可视化13 数据大屏 仪表盘 添加不同背景图丨2021年中国彩票销售额

更多数据分析及可视化技巧, 请点击!
pyechart数据可视化13 数据大屏 仪表盘 添加不同背景图丨2021年中国彩票销售额

上一篇:pywebio 和 pyecharts天生一对


下一篇:WSL2解决Ubuntu的ccsm报错Could not connect: Connection refused Traceback (most recent call last): File &