自动化办公04 使用pyecharts制图

目录

一、柱状图

二、折线图

三、饼图

四、地图

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,leftcolor='#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,averageoptions.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.mzph.cn/web/30708.shtml

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

相关文章

【腾讯云智笔试题——分苹果时间复杂度和空间复杂度都是O(1)】

文章目录 题目描述解题思路:思路讲解: 题目描述 有m个苹果,n个小孩。每个小孩都有一个编号,小明的编号是。要尽量公平的分苹果,相邻编号的小孩分到的苹果数目差距不能大于1。 请问如何在满足相邻编号的小孩分到的苹果…

wsl2平台鸿蒙全仓docker编译环境快速创建方法

文章目录 1 文章适用范围:2 WSL环境安装3 镜像迁移非C盘4 Docker环境准备4.1 docker用户组和用户创建4.2 Docker环境配置4.2.1 Ubuntu下安装docker工具4.2.2 鸿蒙Docker环境安装4.2.3 鸿蒙全仓代码拉取编译 5 鸿蒙全仓代码的更新策略6 参考文献7 FAQ7.1 缺头文件xcr…

【0基础学爬虫】爬虫基础之自动化工具 Appium 的使用

大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学…

CentOS 5(CentOS 6、Redhat 6)服务器配置VNC

一、配置服务器yum源 yum源(本地、华为云、阿里云、网易) 二、使用yum安装vnc服务 1、检查系统是否安装了vnc 和 vncserver, rpm -qa | grep vnc如果没有安装那就行自行下载安装(我这里用yum安装了,vncserver安装需…

设计程序,实现高精度圆周率的计算和存储,使用线性表突破程序设计语言内置变量的数值和有效数字范围限制

一、使用线性表突破程序设计语言内置变量的数值和有效数字范围的限制,为了实现高精度圆周率的计算,先根据数学公式进行对PI高精度运算,如图1-1。根据这个数学公式 π2 0nn!2n1‼ 即 Rn1Rn*n2n1,R11,sum π2* n1∞Rn 来…

Redis学习|Redis基础知识、Redis五大数据类型、Redis三种特殊数据类型、Redis事务

Redis基础知识 redis默认有16个数据库,并且这个数量可以在conf配置文件中更改 默认使用的是第0个 可以使用 select 进行切换数据库! key *查看数据库所有的key 清除当前数据库 flushdb 清除全部数据库的内容FLUSHALL 为什么redis是6379!(了解一下即可!) Redis 是…

【算法】Graham 凸包扫描算法 ( 凸包概念 | 常用的凸包算法 | 角排序 | 叉积 | Python 代码示例 )

文章目录 一、Graham 凸包扫描算法1、凸包概念2、常用的凸包算法3、Graham 凸包扫描算法 二、Graham 算法前置知识点1、角排序2、叉积3、算法过程分析 三、代码示例1、完整代码示例2、执行结果 使用 Graham 算法绘制的凸包效果 : 博客代码下载 : https://download.csdn.net/d…

大模型之-Seq2Seq介绍

大模型之-Seq2Seq介绍 1. Seq2Seq 模型概述 Seq2Seq(Sequence to Sequence)模型是一种用于处理序列数据的深度学习模型,常用于机器翻译、文本摘要和对话系统等任务。它的核心思想是将一个输入序列转换成一个输出序列。 Seq2Seq模型由两个主…

企业微信,机器人定时提醒

场景: 每天定时发送文字,提醒群成员事情,可以用机器人代替 人工提醒。 1)在企业微信,创建机器人 2)在腾讯轻联,创建流程,选择定时任务,执行操作(企业微信机…

未登录也能知道你是谁?浏览器指纹了解一下!

引言 大多数人都遇到过这种场景,我在某个网站上浏览过的信息,但我并未登录,可是到了另一个网站发现被推送了类似的广告,这是为什么呢? 本文将介绍一种浏览器指纹的概念,以及如何利用它来判断浏览者身份。…

FIddler+Proxifer 实现PC客户端抓包详细教程

文章目录 前言1、Proxifer下载和配置1.1、下载Proxifer1.2、Proxifier配置 2、FIddler下载和配置2.1、FIddler下载2.2、FIddler配置 3、三、为什么抓不到有些应用程序的HTTP(s)的包? 前言 一般在浏览器场景下,我们可以利用Fiddler很好的完成抓包&#x…

计算机网络学习3

文章目录 以太网的MAC帧格式虚拟局域网VLAN概述虚拟局域网VLAN的实现机制以太网的发展802.11无线局域网的组成无线局域网的物理层无线局域网的数据链路层---使用CSMA/CD协议802.11无线局域网的MAC帧 网络层网络层概述网际协议IP和4.2.1异构网络互联IPv4地址及其编址方法概述IPv…

webpack处理样式资源04--webpack入门学习

处理样式资源 本章节学习使用 Webpack 如何处理 Css、Less、Sass、Scss、Styl 样式资源 介绍 Webpack 本身是不能识别样式资源的,所以我们需要借助 Loader 来帮助 Webpack 解析样式资源 我们找 Loader 都应该去官方文档中找到对应的 Loader,然后使用…

osgearth提示“simple.earth: file not handled”

在用vcpkg编译完osg和osgearth后,为了验证osgearth编译是否正确,进行测试,模型加载代码如下: root->addChild(osgDB::readNodeFile("simple.earth")); 此时以为是simple.earth路径的问题,遂改为以下代码…

Kithara实时定时器

管理定时器和实时定时器 目录 管理定时器和实时定时器管理时间数据通用定时器编程初始化计时器删除计时器停止/启动/调整定时器备注RealTimer 备注项目实例项目结构项目源码 示例更多: 管理时间数据 在 Kithara RealTime Suite 中,所有时间值均以 100 ns…

Pikachu靶场--文件上传

参考借鉴 Pikachu靶场之文件上传漏洞详解_皮卡丘文件上传漏洞-CSDN博客 文件上传漏洞&#xff1a;pikachu靶场中的文件上传漏洞通关_pikachu文件上传通关-CSDN博客 client check 在桌面新建一个文件夹&#xff0c;准备一个hello.php文件&#xff0c;文件写入如下代码 <?p…

产品3D模型在线展示

产品3D模型可以向潜在客户提供360度的观察角度&#xff0c;比平面图形的效果更好。快速实现产品3D模型的在线展示最简单的方法是使用老子云3D可视老子云3D可视化的模型内嵌特性&#xff0c;无需任何开发工作&#xff0c;5分钟就可以完成&#xff1a; 老子云的模型内嵌功能&…

[YOLOv10:注意力机制的轻量化创新,MLCA在目标检测中的卓越表现]

本文改进:一种轻量级的Mixed Local Channel Attention (MLCA)模块,该模块考虑通道信息和空间信息,并结合局部信息和全局信息以提高网络的表达效果。 1.YOLOv10介绍 论文:[https://arxiv.org/pdf/2405.14458] 代码: https://gitcode.com/THU-MIG/yolov10?utm_source=csdn…

二叉树的基础讲解

二叉树在遍历&#xff0c;查找&#xff0c;增删的效率上面都很高&#xff0c;是数据结构中很重要的&#xff0c;下面我们来基础的认识一下。(高级的本人还没学&#xff0c;下面的代码用伪代码或C语言写的)我会从树&#xff0c;树的一些专有名词&#xff0c;树的遍历&#xff0c…

ROM以及ROM与RAM对比

1.ROM ROM最原始的定义是“只读存储器”&#xff0c;一旦写入原始信息则不能更改。所以ROM通常用来存放固定不变的程序、常数和汉字字库&#xff0c;甚至用于操作系统的固化。它与随机存储器可共同作为主存的一部分&#xff0c;统一构成主存的地址域。 现在已经发展出了很多R…