day7pyecharts制图-组合图

2023-11-05

Pyecharts制图

标题一、柱状图

导入柱状图的类

from pyecharts.charts import Bar

导入图标配置类

from pyecharts import options

---------------------基本的柱状图-----------------------

# 1.创建图标对象
bar = Bar()

# 2.添加x轴上和y轴上显示的数据
bar.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [320, 875, 904, 203, 100])
bar.add_yaxis('平均薪资', [15000, 13000, 12000, 12500, 10000])
bar.add_yaxis('应届毕业人数', [320, 850, 855, 203, 100])
bar.add_yaxis('学费', [18990, 21000, 22999, 19888, 18990])

# 3.渲染图表
bar.render('files/bar1.html')

在这里插入图片描述

-----------------------柱状图的常用设置------------------------

# 1.创建图标对象
from pyecharts.globals import ThemeType

bar = Bar(
	# 设置整个图表的主题
	init_opts=options.InitOpts(
    	theme=ThemeType.WONDERLAND
    )
)

# 2.添加X轴上和y轴上显示的数据
bar.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [320, 875, 904, 203, 100])
bar.add_yaxis('平均薪资', [15000, 13000, 12000, 12500, 10000])
bar.add_yaxis('应届毕业人数', [320, 850, 855, 203, 100])
bar.add_yaxis('学费',
              [18990, 21000, 22999, 19888, 18990],
              markpoint_opts=options.MarkPointOpts(data=[
                  options.MarkPointItem(name='最小值', type_='min')
              ])
             )

# 3.柱状图常见配置
# 1)全局配置
bar.set_global_opts(
    # 配置标题
    title_opts=options.TitleOpts(title='千锋各科数据', subtitle='2022/11/22', pos_left=400),
    # 图例配置
    legend_opts=options.LegendOpts(is_show=False),
    # 配置工具箱
    toolbox_opts=options.ToolboxOpts(is_show=False)
)

# 2)系列配置
bar.set_series_opts(
    # 设置数值的显示
    # label_opts=options.LabelOpts(is_show=True, position='top', rotate=20, font_size=10, color='pink'),
    # 添加标记点
    markpoint_opts=options.MarkPointOpts(data=[
        options.MarkPointItem(name='最大值', type_='max'),
        # options.MarkPointItem(name='最小值', type_='min'),
    ])
)

# 4.渲染图表
bar.render('files/bar1.html')

在这里插入图片描述

二、折线图

from pyecharts.charts import Line
from pyecharts import options
from pyecharts.globals import ThemeType

# 1.创建图标对象
line = Line(
    init_opts=options.InitOpts(theme=ThemeType.DARK)
)

# 2.添加数据
line.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
line.add_yaxis('全年招生人数', [320, 875, 904, 203, 100])
line.add_yaxis('平均薪资', [15000, 13000, 12000, 12500, 10000])

# 3.折线图特定的配置
line.set_series_opts(
    # 添加标记线
    markline_opts=options.MarkLineOpts(data=[
        options.MarkLineItem(name='平均值', type_='average')
    ])
)

# 4.渲染图表
line.render('files/line.html')

在这里插入图片描述

三、饼图

from pyecharts.charts import Pie
from pyecharts import options
from pyecharts.globals import ThemeType
# 1.创建图表对象
pie = Pie()

# 2.添加数据
pie.add('销售额',
        [('手机', 57890), ('耳机', 12560), ('手表', 12890), ('电脑', 6820)],
        # 设置空心
        radius=('30%', '70%'),
        # 根据数据的大小设置每一部分半径的大小
        rosetype='radius'
)

# 3.饼图的常见配置
pie.set_global_opts(
    # 隐藏图例
    legend_opts=options.LegendOpts(is_show=False),
    # 设置标题
    title_opts=options.TitleOpts(title='某商场的电子产品销量情况', subtitle='销售额')
)
# 系列设置
pie.set_series_opts(
    # 设置文字信息的显示格式:{b} - 名称 {d} - 百分比的比值
    label_opts=options.LabelOpts(formatter='{b}({d}%)')
)


# 4.渲染图表
pie.render('files/pie.html')

在这里插入图片描述

四、地图

from pyecharts.charts import Map
from pyecharts import options
# ---------------------1.中国地图----------------------
# 1.创建图表对象
map1 = Map()

# 2.添加数据
map1.add(
    '新增人数',
    [('四川', 173), ('河北', 300), ('吉林', 28), ('新疆', 800), ('重庆', 1500), ('广东', 1800)],
    'china',
    # 限制缩放倍数
    min_scale_limit=0.8,
    max_scale_limit=2
)

# 3.地图常见配置
map1.set_global_opts(
    # 隐藏图例
    legend_opts=options.LegendOpts(is_show=False),
    visualmap_opts=options.VisualMapOpts(is_show=True, max_=2000, min_=0, is_piecewise=True)
)


# 4.渲染图表
map1.render('files/中国地图.html')

在这里插入图片描述

# ---------------------2.四川省地图----------------------
# 1.创建图表对象
map1 = Map()

# 2.添加数据
map1.add(
    '新增人数',
    [('成都市', 173), ('绵阳市', 300), ('内江市', 28), ('乐山市', 800), ('眉山市', 1500), ('德阳市', 1800)],
    '四川',
    # 限制缩放倍数
    min_scale_limit=0.8,
    max_scale_limit=2
)

# 3.地图常见配置
map1.set_global_opts(
    # 隐藏图例
    legend_opts=options.LegendOpts(is_show=False),
    visualmap_opts=options.VisualMapOpts(is_show=True, max_=2000, min_=0, is_piecewise=True)
)


# 4.渲染图表
map1.render('files/四川地图.html')

在这里插入图片描述

# ---------------------3.世界地图----------------------
# 1.创建图表对象
map1 = Map()

# 2.添加数据
map1.add(
    '新增人数',
    [('China', 173), ('Russia', 300), ('Greenland', 28), ('Libya', 800), ('Mongolia', 1500), ('Finland', 1800)],
    'world',
    # 限制缩放倍数
    min_scale_limit=0.8,
    max_scale_limit=2
)

# 3.地图常见配置
map1.set_global_opts(
    # 隐藏图例
    legend_opts=options.LegendOpts(is_show=False),
    visualmap_opts=options.VisualMapOpts(is_show=True, max_=2000, min_=0, is_piecewise=True)
)


# 4.渲染图表
map1.render('files/世界地图.html')

在这里插入图片描述

# ---------------------4.重庆市地图----------------------
# 1.创建图表对象
map1 = Map()

# 2.添加数据
map1.add(
    '新增人数',
    [('丰都县', 173), ('忠县', 300), ('垫江县', 28), ('荣昌县', 800), ('合川区', 1500), ('万州区', 1800)],
    '重庆',
    # 限制缩放倍数
    min_scale_limit=0.8,
    max_scale_limit=2
)

# 3.地图常见配置
map1.set_global_opts(
    # 隐藏图例
    legend_opts=options.LegendOpts(is_show=False),
    visualmap_opts=options.VisualMapOpts(is_show=True, max_=2000, min_=0, is_piecewise=True)
)


# 4.渲染图表
map1.render('files/重庆市地图.html')

在这里插入图片描述

五、词云

from pyecharts.charts import WordCloud
from pyecharts import options

# 1.创建图表
wc = WordCloud()

# 2.添加数据
wc.add(
    '游戏人数',
    [('王者荣耀', 28384), ('CS Go', 6782), ('和平精英', 12930), ('英雄联盟', 30092), ('开心消消乐', 829),
     ('刀塔', 1023), ('CF', 567), ('红色警戒', 129), ('魔兽', 90), ('保卫萝卜', 50), ('羊了个羊', 6728),
     ('植物大战僵尸', 369), ('原神', 5093), ('阴阳师', 9), ('找你妹', 809), ('俄罗斯方块', 1092),
     ('狼人杀', 4092), ('你画我猜', 9), ('QQ飞车', 912), ('QQ炫舞', 120), ('我的世界', 5621), ('部落冲突', 213)
     ],
    shape='diamond',
    word_size_range=(10, 80)
)
# 3. 渲染图表
wc.render('files/词云地图.html')

在这里插入图片描述

六、组合图

from pyecharts.charts import Bar, Line, Pie, Map,  WordCloud, Grid
from pyecharts import option

# 柱状图
bar = Bar()
bar.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [320, 875, 804, 203, 100])
bar.add_yaxis('平均薪资', [9200, 8700, 8500, 7400, 8000])
bar.set_global_opts(legend_opts=options.LegendOpts(is_show=False))

# 折线图
line = Line()
line.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
line.add_yaxis('全年招生人数', [320, 875, 804, 203, 100])
line.add_yaxis('平均薪资', [9200, 8700, 8500, 7400, 8000])
line.set_global_opts(legend_opts=options.LegendOpts(is_show=False))

# 饼图
pie = Pie()
pie.add(
    '销售额',
    [('手机', 57890), ('耳机', 15362), ('手表', 9872), ('电脑', 78921)],
    # 控制饼图大小
    radius=(66, 100),
    rosetype='radius',
    # 通过控制圆心来控制图的位置
    center=(1080, 180)
)
pie.set_global_opts(
    legend_opts=options.LegendOpts(is_show=False)
)
pie.set_series_opts(
    label_opts=options.LabelOpts(formatter='{b}({d}%)')
)

# 地图
map1 = Map()

map1.add(
    '新增人数',
    [('四川', 173), ('河北', 309), ('吉林', 26), ('新疆', 778), ('福建', 56), ('重庆', 435), ('广东', 1829)],
    'china',
    # 控制地图大小
    min_scale_limit=0.45,
    max_scale_limit=0.45,
    # 设置地图的位置(圆心在右上角)(注意缩放比例的问题)
    center=(155, 43)
)
map1.set_global_opts(
    legend_opts=options.LegendOpts(is_show=False),
    visualmap_opts=options.VisualMapOpts(is_show=False, max_=2000, min_=0, is_piecewise=True)
)
map1.set_series_opts(
    label_opts=options.LabelOpts(color='rgb(128,128,128)')

)

# 词云
# 1.创建图表
wc = WordCloud()

# 2.添加数据
wc.add(
    '游戏人数',
    [('王者荣耀', 28384), ('CS Go', 6782), ('和平精英', 12930), ('英雄联盟', 30092), ('开心消消乐', 829),
     ('刀塔', 1023), ('CF', 567), ('红色警戒', 129), ('魔兽', 90), ('保卫萝卜', 50), ('羊了个羊', 6728),
     ('植物大战僵尸', 369), ('原神', 5093), ('阴阳师', 9), ('找你妹', 809), ('俄罗斯方块', 1092),
     ('狼人杀', 4092), ('你画我猜', 9), ('QQ飞车', 912), ('QQ炫舞', 120), ('我的世界', 5621), ('部落冲突', 213)
     ],
    shape='diamond',
    word_size_range=(18, 30)
)

# 3. 渲染图表
wc.render('files/词云地图.html')


# -----------------组合五个图---------------------------
# 1.创建Grid对象
grid =Grid(init_opts=options.InitOpts(
    # 设置放组合图的宽度和高度
    width='1500px',
    height='1000px'

))

# 2.添加需要组合在一起的各个图表对象
grid.add(bar, grid_opts=options.GridOpts(
    # 图的位置
    pos_left=80,
    pos_top=20,
    # 图的大小
    width=500,
    height=300
))

grid.add(line, grid_opts=options.GridOpts(
    # 图的位置
    pos_left=1000,
    pos_top=400,
    # 图的大小
    width=450,
    height=230
))

grid.add(pie, grid_opts=options.GridOpts())  # 这里设置图的大小和位置无效

grid.add(map1, grid_opts=options.GridOpts())  # 这里设置图的大小和位置无效

grid.add(wc, grid_opts=options.GridOpts())



# 3.渲染组合图
grid.render('files/组合.html')
# 将图表导png
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot

make_snapshot(snapshot, grid.render(), 'files/组合.png')

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

day7pyecharts制图-组合图 的相关文章

随机推荐

  • uniapp中位置授权提示

    前言 因项目的需求 需要 首次登录小程序的用户 一进来就显示一个弹窗 提示 点击允许打印的结果 官网地址 uni getSetting 获取用户的当前设置 出现弹窗的原因是因为使用 了 uni authorize 这个属性 还需要在 man
  • 数据库(DDL)

    数据库 一 数据库类型 1 关系型数据库 Oracle 银行 政府 MySQL 最广泛 2 非关系型数据库 redis mongodb 二 数据库的核心元素 1 sql 关系型的数据库语言 结构化查询语言 2 Mysql 具体的数据库 3
  • vue3+Element-plus 动态路由配置

    使用vue3 Element plus 进行动态路由配置 首先来看一下路由结构 免得出现疑惑 const routes path login name Login meta title 登录页面 component gt import vi
  • 前端整合图片上传组件

    复制头像上传组件 从vue element admin复制组件 vue element admin src components ImageCropper vue element admin src components PanThumb
  • 流媒体之播放flv格式的视频

    起因 项目之前支持高清预览 但是不支持flv格式的视频 所以 为了让他支持flv格式 我去整理了一些相关资料 发现 有两种方式 一个是采用插件 一个是使用b站开源的flv js 详情见下 flv js简介 Flv js 是 HTML5 Fl
  • vue自定义穿梭框支持远程滚动加载

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 分享一个使用比较久的 技术框架公司的选型 老项目 vue2 iview ui 方案的实现思路是共性的 展现UI样式需要你们自定义进行更改 因为iview是全局注入
  • WSL 配置中文输入法

    1 安装输入法 sudo apt install dbus x11 im config fonts noto fcitx fcitx pinyin fcitx sunpinyin fitx googlepinyin 2 设置自动启动 命令行
  • 深入解析G1垃圾收集器与性能优化

    本文详细介绍G1垃圾收集器的参数配置 如何进行性能调优 以及怎样对GC性能进行分析和评估 文章目录 0 G1简介 1 垃圾回收阶段简介 2 纯年轻代模式的垃圾收集 3 混合模式的垃圾收集 4 标记周期的各个阶段 5 常用参数与默认值 XX
  • 整合Windows 7 / server 2008更新补丁包

    哈喽 大家好 今天主要是给学习win7和server2008的小伙伴准备的一样好东西 UpdatePack7R2 这是是由俄罗斯大神Simplix制作的Windows 7 和 server 2008的更新补丁离线安装包 里面整合了Windo
  • 数组中子数组和为固定值的题目汇总

    开头附件一部分数组去重的知识 C 中数组 Vector中去除重复元素 unique函数是一个去重函数 去除相邻中的重复元素 只留一个 其中 最关键的是 并不是删除并不是把重复的元素删除 而是全部放倒数组的后面 因为 unique只是去除 相
  • linux查询端口冲突情况

    1 netstat anp grep 80 输出 unix 2 ACC STREAM LISTENING 48026 7112 master private tlsmgr 若 出现LISTEN则冲突 LISTENING正常
  • 01-----关于更换网络之后,xshell无法连接虚拟机(之前还能连接)

    1 解析 我本来在一个网络中是正常能使用xshell连接我的本地虚拟机的 但是后面回到家里的wifi后 突然就连不上了 经过排查 发现是新的wifi的与原本建立好的网络环境不一致 具体是ip不在同一网段 重新配置一下 例如我是这样操作的 看
  • Visual studio Code的clangd插件一篇通,上乘的C/C++开发环境配置

    系列文章 Visual studio Code的C C 开发环境搭建 Visual studio Code的clangd插件一篇通 上乘的C C 开发环境配置 苦于微软出品的 C C 插件久矣 时不时就会出现代码提示失效 跳转失败的问题 现
  • 算法实现之二叉树的前序、中序、后序递归和非递归遍历以及层序遍历

    概述 二叉树是每个节点最多有两个子树的树结构 通常子树被称作左子树和右子树 二叉树的遍历通常分为 前序遍历 中序遍历 后序遍历和层序遍历 前序遍历 前序递归遍历算法 访问根结点 gt 递归遍历根结点的左子树 gt 递归遍历根结点的右子树 中
  • linux tr命令完整,linux tr命令详解

    tr命令可以对来自标准输入的字符进行替换 压缩和删除 下面由学习啦小编为大家整理了linux tr命令的相关知识 希望对大家有帮助 linux tr命令用途 tr命令可以对来自标准输入的字符进行替换 压缩和删除 它可以将一组字符变成另一组字
  • 大数据分析——云南的花样之旅

    认真阅读过小伙伴们的评论 最终将我们此行的目的地定在了山清水秀的云南了 对于从小生活在北方的小编 对云南还是抱着不小的憧憬呢 下面就来看看数据人员给出的官方数据吧 首先我们就来说说久负盛名的云南大理吧 先看一下数据 看了下数据结果 小编才知
  • 【好工具】不需要知道地址,一个命令就能下载任何文件,它不香吗?

    今天介绍一款浏览器插件 可以直接将文件的下载链接直接转换成 Linux 命令 方便无操作界面的电脑下载无直链的文件 作者 编辑 Leong 导言 使用过 Linux 的朋友可能知道 大部分软件都是不支持 Linux 系统的 Windows系
  • List及String类的Contains方法底层源码解析

    public boolean Contains Object o 此处的o即为contains方法中的参数对象 return indexOf o gt 0 如果数值 gt 0 则返回true public int indexOf Objec
  • mysql中的Date日期格式的问题:只有日期没有时间及格式化时间

    只有日期没有时间 把xml中的date改为timestamp 格式化最简单的方法 JsonFormat pattern yyyy MM dd HH mm ss timezone GMT 8 转载于 https www cnblogs com
  • day7pyecharts制图-组合图

    Pyecharts制图 标题一 柱状图 导入柱状图的类 from pyecharts charts import Bar 导入图标配置类 from pyecharts import options 基本的柱状图 1 创建图标对象 bar B