自动化办公04 使用pyecharts制图

news2024/11/28 2:35:05

目录

一、柱状图

二、折线图

三、饼图

四、地图

1. 中国地图

2. 世界地图

3. 省会地图

五、词云


Pyecharts是一个用于数据可视化的Python库。它基于Echarts库,可以通过Python代码生成各种类型的图表,如折线图、柱状图、饼图、散点图等。

Pyecharts提供了一种简单、灵活的方式来创建交互式和动态的图表。它支持多种数据格式,包括列表、字典、Pandas的DataFrame等。可以通过调用Pyecharts的各种方法和属性,设置图表的标题、坐标轴、图例等属性,并可以自定义样式、颜色和标签等。

Pyecharts还提供了多种输出格式,包括HTML文件、图片文件和Jupyter Notebook等。生成的图表可以在网页上进行交互,并支持缩放、切换数据等功能。

 pyecharts学习网站:点这里进入

色卡查询网:点这里进入

一、柱状图

from pyecharts import options
from pyecharts.charts import Bar

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

# 2.添加数据
# x轴数据只能有一个,y轴可以有多个,但是y轴数据必须和x轴对应
# 添加x轴数据
bar.add_xaxis(['数据分析', '物联网', '云计算', 'Java开发', '鸿蒙开发'])

# 添加y轴数据
# 单独设置特殊标记点也在数据内部设置
bar.add_yaxis('招生人数',
              [980, 1200, 654, 1315, 805],
              color='#c0ebd7',
              # bar_width=60,      # 柱子宽度(单独设置这一个数据宽度时可能会导致另一个柱子不显示)
              # bar_max_width=60,       # 缩放时柱子的最大、最小宽度
              # bar_min_width=60,
              )
bar.add_yaxis('应届生人数',
              [520, 200, 129, 802, 109],
              color='#b0a4e3')

# 3.添加配置
# 1)全局配置
bar.set_global_opts(
    # a.标题配置
    title_opts=options.TitleOpts(
        # 设置标题内容和标题点击跳转的网址
        title='某教育各学生招生信息',    # 主标题
        title_link='https://www.baidu.com',
        subtitle='2023年年度总结',       # 副标题
        subtitle_link='https://www.taobao.com',
        # 设置标题位置
        # pos_left='50',
        pos_right='260',
        # 设置对齐方式
        text_align='center',    # right,left,center
    ),
    # b.图例配置
    legend_opts=options.LegendOpts(
        is_show=True,      # 图例展示/隐藏
        pos_right=100,     # 图例位置
        pos_top=30,
        item_width=10      # 图例大小
    ),
    # c.x轴和y轴的配置
    xaxis_opts=options.AxisOpts(
        name='学科名称'
    ),
    yaxis_opts=options.AxisOpts(
        name='人数',
        # 设置起始最小值、最大值
        # min_=100,
        # max_=1400,
    ),
    # d.添加数据缩放工具(数据多,柱子挤的时候用)
    # datazoom_opts=options.DataZoomOpts(
    #     is_show=True,   # 默认显示中间部分
    #     # 更改默认的显示部分
    #     range_start=0,
    #     range_end=50
    # )
)
# 2)系列配置(针对图上的内容)
bar.set_series_opts(
    # a.设置数据标记
    label_opts=options.LabelOpts(
        is_show=True,    # 柱状图上的数字是否显示
        position='top',     # top,bottom,right,left
        color='#177cb0',    # 字体颜色
        rotate=45,          # 旋转
    ),
    # b.标记点(标记特殊点)
    markpoint_opts=options.MarkPointOpts(
        data=[
            # 注意数据的类型
            options.MarkPointItem(name='最大值',type_='max'),
            options.MarkPointItem(name='最小值',type_='min')
        ]
    ),
    markline_opts=options.MarkLineOpts(
        data=[
            options.MarkLineItem(name='平均值', type_='average')
        ]
    )
)

# 制图
bar.render('charts/柱状图.html')

导入options模块是为了使用Pyecharts库的可视化图表的参数配置选项。该模块包含了各种可用的配置选项,可以通过设置这些选项来自定义图表的样式、布局和行为。例如,可以使用options模块来设置图表的标题、坐标轴名称、颜色主题、图例位置等。这样可以根据需要将图表个性化地定制成符合自己需求的样式。 

二、折线图

from pyecharts.charts import Line
from pyecharts import options

# 1.创建折线图对象
line1 = Line()

# 2.添加数据
line1.add_xaxis(['数据分析', '物联网', '云计算', 'Java开发', '鸿蒙开发'])
line1.add_yaxis('招生人数',
                [980, 1200, 654, 1315, 805],
                color='#99CCFF',
                is_smooth=True,      # 是否平滑
                # 线型可选:solid', 'dashed', 'dotted'
                linestyle_opts=options.LineStyleOpts(
                    type_='dashed'
                    )
                )
line1.add_yaxis('应届生人数',
                [520, 200, 129, 802, 109],
                color='#CC99CC'
                )

# 添加配置
# 全局
line1.set_global_opts(
    # 设置标题
    title_opts=options.TitleOpts(
        title='某教育招生情况',
        pos_left='380'
    ),
    # 图例
    legend_opts=options.LegendOpts(
        pos_right=90,
        pos_top=30
    )
)
# 系列配置
line1.set_series_opts(
    # 特殊标记点
    markline_opts=options.MarkLineOpts(
        # 添加平均值标记线
        data=[
            # type_的值:max,min,average
            options.MarkLineItem(name='平均值', type_='average')
        ]
    )
)


# 4.制图
line1.render('charts/折线图.html')

三、饼图

from pyecharts.charts import Pie
from pyecharts import options


# 1.创建饼图对象
pie1 = Pie()

# 2.添加数据
pie1.add('销量',
         [('华为',120980),('小米',98647),('oppo',20098),('Apple',109840),('三星',5679)],
         # 设置内圆半径和外圆半径
         radius=(60, 150),
         # 让外半径的大小和数据占比相关联
         # 即外圆半径和下图一样不一样,若要外圆半径一直,则将下面一句代码注释
         rosetype='radius'
         )

# 3.添加配置
pie1.set_global_opts(
    legend_opts=options.LegendOpts(
        is_show=False
    ),
    title_opts=options.TitleOpts(
        title='2023年京东商城个品牌手机销量',
        pos_left='310'
    )
)
pie1.set_series_opts(
    label_opts=options.LabelOpts(
        # {b} - 名称
        # {d} - 比例值
        # 默认没有%存在,所以注意添加
        formatter='{b}({d}%)'
    )
)

# 4.制图
pie1.render('charts/饼图.html')

四、地图

1. 中国地图

pyecharts import options
from pyecharts.charts import Map


# =================中国地图=================
# 1.创建地图对象
map1 = Map()

# 2.添加数据
# 默认中国地图
map1.add(
    '人口数量',
    [
        ('四川省', 34918288),
        ('重庆市', 9192828),
        ('山东省', 10928282),
        ('辽宁省', 892733),
        ('北京市', 109923),
        ('上海市', 29981729),
        ('广西省', 782911)
    ],
    # 限制缩放比例
    min_scale_limit=0.5,
    max_scale_limit=3,
    # 默认显示的缩放比例
    zoom=1.5,
    # 设置地图位置
    pos_top=150
)

# 3.添加配置
map1.set_global_opts(
    title_opts=options.TitleOpts(
        title='2023年全国人口数量分布图',
        pos_left='350'
    ),
    legend_opts=options.LegendOpts(
        is_show=False
    ),
    # 添加视觉地图配置(让不同区域填充对应的颜色)
    visualmap_opts=options.VisualMapOpts(
        is_show=True,
        # 颜色范围的最大值、最小值设定是根据上方自己添加的数据
        min_=50000,
        max_=35000000,
        # 是否显示颜色范围图例
        is_piecewise=True
    )
)

# 4.制图
map1.render('charts/地图.html')

2. 世界地图

# 1.创建地图对象
map2 = Map()

# 2.添加数据,并且设置地图类型(默认是china)
map2.add(
    '人均GDP',
    [('China', 192830), ('Canada', 154728), ('Australia', 25845), ('Spain', 85462)],
    maptype='world',    #
    # 限制缩放比例
    min_scale_limit=0.5,
    max_scale_limit=2,
    # 默认显示的缩放比例
    # zoom=1.5,
    # 设置地图位置
    # pos_top=150
)

# 3.添加配置
map2.set_global_opts(
    title_opts=options.TitleOpts(
        title='2023年世界各国人均GDP',
        pos_left='400'
    ),
    legend_opts=options.LegendOpts(
        is_show=False
    ),
    # 添加视觉地图配置(让不同区域填充对应的颜色)
    visualmap_opts=options.VisualMapOpts(
        is_show=True,
        min_=20000,
        max_=200000,
        # 是否显示颜色范围图例
        is_piecewise=True
    )
)
map2.set_series_opts(
    label_opts=options.LabelOpts(
        is_show=False
    )
)

# 4.制图
map2.render('charts/世界地图.html')

3. 省会地图

# 1.创建地图对象
map3 = Map()

# 2.添加数据
# 默认中国地图
map3.add(
    '人口数量',
    [
        ('成都市',98542)
    ],
    maptype='四川',
    # 限制缩放比例
    min_scale_limit=0.5,
    max_scale_limit=3,
    # 默认显示的缩放比例
    zoom=1.1,
    # 设置地图位置
    # pos_top=150
)

# 3.添加配置
map3.set_global_opts(
    title_opts=options.TitleOpts(
        title='2023年全国人口数量分布图',
        pos_left='350'
    ),
    legend_opts=options.LegendOpts(
        is_show=False
    ),
    # 添加视觉地图配置(让不同区域填充对应的颜色)
    visualmap_opts=options.VisualMapOpts(
        is_show=True,
        min_=50000,
        max_=35000000,
        # 是否显示颜色范围图例
        is_piecewise=True
    )
)

# # 4.制图
map3.render('charts/省会地图.html')

注意: 

除了上面介绍的三种地图,还可以是范围更小的市地图,都只需要将maptype='四川'改成相应的地区,例如:

五、词云

from pyecharts import options
from pyecharts.charts import WordCloud

# 1.
wc1 = WordCloud()

# 2.添加数据
wc1.add(
    '',
 [('英雄联盟', 91828), ('红色警戒', 1928), ('怪物猎人世界', 25468), ('守望先锋', 86472),
  ('植物大战僵尸', 1828), ('原神', 666666), ('开心消消乐', 238940), ('王者荣耀', 10458642), ('光遇', 3898309),
  ('地下城与勇士', 1056321), ('神界原罪', 91828), ('只狼', 1335468), ('桃园深处有人家', 388309), ('第五人格', 246513),
  ('蛋仔派对', 1523845), ('茶杯头', 2828), ('柏承俊', 115434), ('逆水寒', 348665), ('狂扁小朋友', 999999),
  ('纸嫁衣', 3898309),
  ('造梦西游', 28), ('闪电五连鞭', 154121), ('赛博朋克2077', 54723), ('洛克王国', 389), ('抓大鹅', 3456),
  ('黑神话 · 悟空', 9122828),
  ('黎明杀机', 114514), ('4399', 3089), ('虐杀2', 86744), ('战锤', 9128), ('绝地求生', 1654845), ('不是,哥们', 56789),
  ('绝区零', 1520), ('APEX', 2315120), ("鸣潮", 2384337), ('光与夜之恋', 3898309), ('CSGO', 1290), ('永劫无间', 290),
  ('守望先锋', 120), ('和平精英', 15032), ('qq飞车', 782), ('第五人格', 403),
  ('穿越火线', 3909), ('诛仙', 109), ('红警', 99), ('qq农场', 297), ('地铁跑酷', 1282), ('蛋仔派对', 981),
  ('贪吃蛇', 70), ('蜘蛛纸牌', 1009), ('扫雷', 431), ('金铲铲之战', 1002525), ('十字军之王', 1453), ('apex', 16547),
  ('暴力摩托', 5647),
  ('倩女幽魂', 536), ('魔兽3冰封王座', 48985), ('valorant', 888), ('羊了个羊', 2035689), ('幻兽帕鲁', 473453),
  ('彩虹六号', 54343),
  ('生化危机', 1654), ('恋爱脑', 23432), ('QQ炫舞', 23580), ('猛鬼宿舍', '2343'), ('战神3', 5151512),
  ('骑马与砍杀', 16465), ('Dota2', 2000),
  ('QQ飞车', 2353), ('食物语', 890), ('PUBG', 5251), ('光遇', 24235), ('孤岛惊魂5', 4654), ('江南百景图', 6873),
  ('漫威蜘蛛侠', 1412), ('Cuphead', 4141),
  ('荒野大镖客', 12515), ('GTA5', 1251), ('战地1', 1515),
  ('战地2', 1515), ('战地5', 1515), ('彩虹六号', 1515), ('Dota2', 2141), ('魔兽争霸', 1515), ('守望先锋2', 142515)
  ],
    # 设置轮廓形状: 'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon', 'star' 可选
    shape='star'
)

# 3.制图
wc1.render('charts/词云.html')

上面给出的词云只能看出大概形状,因为代码中给出的数据太少了。所以词云绘图一般会和数据爬取、表格、数据库等关联使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1844972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

养车小程序系统源码,汽修源码,仿途虎养车系统源码,车辆保养小程序系统

用户端+商家端+师傅端 功能介绍: 支持下单上门服务、到店核销,支持单独选择项目、 也支持选择服务人员、和选择门店多种下单方式, 支持上门服务和到店核销两种服务方式,支持自营和多商家联营两种运营模式&#xff…

静态路由(Static-Route)-Cisco

路由(Route) 世界上数亿的计算机大海 通过路由将世界连接 路由连接LAN、WAN、MAN,也连接世界 路由的工作 路由器将大块信息分解为小数据包 以实现可靠和高效的传输 过程称为“反汇编”和“封装数据有效负载” 路由表是一种逻辑数据结构…

Linux 服务管理(待更)

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld , sshd防火墙等),因此又称为守护进程。 比如通过xshell进行连接的时候,需要输入的端口号就是通过守护…

PyTorch梯度直通反传

有时我们想在层的输出端放置一个阈值函数。这可能出于多种原因。其中之一是我们想将激活总结为二进制值。这种激活的二值化在自编码器中很有用。 然而,阈值化在反向传播过程中会带来问题:阈值函数的导数为零。这种梯度的缺乏导致我们的网络无法学习任何…

CSDN图片居中、左对齐、右对齐、大小设置

图片居中、左对齐、右对齐 ![在这里插入图片描述](https://img-blog.csdnimg.cn/99dc1072e8f1471990b700e1c85d301a.jpeg#pic_center) 大小设置 空格400x150 空格30%x # 长400 宽200 ![在这里插入图片描述](https://img-blog.csdnimg.cn/99dc1072e8f1471990b700e1c85d301a.…

hive on spark 的架构和常见问题 - hive on spark 使用的是 yarn client 模式还是 yarn cluster 模式?

hive on spark 的架构和常见问题 - hive on spark 使用的是 yarn client 模式还是 yarn cluster 模式? 1. 回顾下 spark 的架构图和部署模式 来自官方的经典的 spark 架构图如下: 上述架构图,从进程的角度来讲,有四个角色/组件&…

opencascade AIS_InteractiveContext源码学习3 highlighting management 对象高亮管理

AIS_InteractiveContext 前言 交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行…

TugraphDB:探索图数据库新境界

TugraphDB:释放图数据的全部潜能- 精选真开源,释放新价值。 概览 TugraphDB是支付宝背后的分布式图数据库。该项目是由蚂蚁集团和清华大学共同研发的高性能分布式图数据库,支持事务处理、TB 级大容量、低延迟查找和快速图分析等功能。专为处…

安卓系统安装linux搭建随手服务器termux平替软件介绍

引言 旧手机丢可惜,可以用ZeroTermux(一款代替termux)的超级终端,来模拟Linux(甚至你可以模拟Win,只要性能够用) ps:此软件只是termux的增强版,相当于增加右边菜单&…

第N5周:调用Gensim库训练Word2Vec模型

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 目录 本周任务: 1.安装Gensim库 2.对原始语料分词 3.停用词 4.训练Woed2Vec模型 …

单阶段目标检测--NMS

目录 一、概念: 二、算法过程 三、代码实现 一、概念: 在目标检测的初始结果中,同一个物体,可能对应有多个边界框 (bounding box,bb),这些边界框通常相互重叠。如何从中选择一个最合适 的(也就…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 披萨大作战(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 &#x1f…

1 UC

1 UC 1、环境变量2、环境变量表3、错误处理4、库文件4.1 静态库4.2 动态库4.3 动态库的动态加载 5、虚拟地址 1、环境变量 什么是环境变量? 每个进程都有一张自己的环境变量表,表中的每个条目都是形如“键值”形式的环境变量。进程可以通过环境变量访问…

opencascade AIS_InteractiveContext源码学习4 object local transformation management

AIS_InteractiveContext 前言 交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行…

数据结构4---串

一、字符串暴力匹配 要注意的就是i与j的回溯&#xff0c;通过不断移动主串的指针&#xff0c;时间复杂度高 #include <stdio.h> #include <stdlib.h>typedef struct String {char* data;int len; }String;String* initString() {String* s (String*)malloc(sizeo…

分布式理论与设计 四、分布式系统设计策略

在分布式环境下&#xff0c;有几个问题是普遍关心的&#xff1a; 如何检测当前节点还活着&#xff1f;如何保障高可用&#xff1f;容错处理负载均衡 1.心跳检测 在分布式环境中&#xff0c;我们提及过存在非常多的节点&#xff08;Node&#xff09;。那么就有一个非常重要的…

c++ 编译过程杂记等

开篇一张图。 编译器 把我们的代码翻译成机器语言 ​ gcc编译程序的过程 gcc编译程序主要经过四个过程&#xff1a; 四个过程说明&#xff1a; ​ 预处理实际上是将头文件、宏进行展开。 编译阶段&#xff0c;gcc调用不同语言的编译器&#xff0c;例如c语言调用编译器ccl…

OpenTenBase入门

什么是OpenTenBase OpenTenBase 是一个提供写可靠性&#xff0c;多主节点数据同步的关系数据库集群平台。你可以将 OpenTenBase 配置一台或者多台主机上&#xff0c; OpenTenBase 数据存储在多台物理主机上面。数据表的存储有两种方式&#xff0c; 分别是 distributed 或者 re…

Android Studio main,xml 视图代码转换

Android Studio main,xml 视图&&代码转换 其实很简单,但是对我们小白来说还是比较蒙的。 废话不多说,直接上图。 我的Android Studio 是 4.0 版的 我刚打开是这个界面,在我想学习如何用代码来布局,可能大家也会找不见代码的位置。 follow me 是不是感觉很简单呢。…

使用Python和BeautifulSoup轻松抓取表格数据

你是否曾经希望可以轻松地从网页上获取表格数据&#xff0c;而不是手动复制粘贴&#xff1f;好消息来了&#xff0c;使用Python和BeautifulSoup&#xff0c;你可以轻松实现这一目标。今天&#xff0c;我们将探索如何使用这些工具抓取中国气象局网站(http://weather.cma.cn)上的…