day07 pyecharts制图

article/2025/9/7 10:28:27

目录

      • Python配置安装pyecharts
    • 一、柱状图的使用
    • 二、折线图
    • 三、饼图
    • 四、地图
    • 五、词云
    • 六、组合图

Python配置安装pyecharts

Python配置国内镜像源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

pycharm配置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, 804, 203, 100])
bar.add_yaxis('平均薪资', [7000, 6000, 5500, 5000, 7500])
bar.add_yaxis('最低薪资', [4000, 4500, 5000, 4000, 6000])# 3.渲染图表
bar.render('files/bar1.html')

效果图:
在这里插入图片描述

常见的配置:

from pyecharts.globals import ThemeType
bar = Bar(# 1.设置图表的主题init_opts=options.InitOpts(theme=ThemeType.MACARONS)
)# 2.全局配置
bar.set_global_opts(# 配置标题title_opts=options.TitleOpts(title='标题',subtitle='副标题',pos_left='380px'),# 配置图例legend_opts=options.LegendOpts(is_show=False),# 配置工具箱toolbox_opts=options.ToolboxOpts(is_show=False)
)# 3.系列配置
bar.set_series_opts(# 设置数值的显示label_opts=options.LabelOpts(is_show=True, position='top', rotate=45, font_size=10, color='pink'),# 添加标记点markpoint_opts=options.MarkPointOpts(data=[options.MarkPointItem(name='最大值', type_='max')# options.MarkPointItem(name='最小值', type_='min')])
)

案例:

# 1.创建图标对象
from pyecharts.globals import ThemeType
bar = Bar(# 设置图表的主题init_opts=options.InitOpts(theme=ThemeType.MACARONS)
)# 2.添加x轴和y轴上显示的数据
bar.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [320, 875, 804, 203, 100])
bar.add_yaxis('平均薪资', [7000, 6000, 5500, 5000, 7500])
bar.add_yaxis('最低薪资', [4000, 4500, 5000, 4000, 6000])# 3.常见配置
# 1)全局配置
bar.set_global_opts(# 配置标题title_opts=options.TitleOpts(title='课程类别和薪资水平',subtitle='            ——千峰',pos_left='380px'),# 配置图例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=45, 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.MACARONS)
)# 2.添加数据
line.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
line.add_yaxis('平均薪资', [7000, 6000, 5500, 5000, 7500],)
line.add_yaxis('学费', [19000, 21000, 23000, 20000, 19000])# 3.折线图特点配置
line.set_series_opts(# 添加标记线markline_opts=options.MarkLineOpts(data=[options.MarkLineItem(name='平均值', type_='average')])
)# 4.渲染图表
line.render('files/line1.html')

效果图:

在这里插入图片描述

三、饼图

from pyecharts.charts import Pie
from pyecharts import options
from pyecharts.globals import ThemeType# 1.创建图表对象
pie = Pie(init_opts=options.InitOpts(theme=ThemeType.MACARONS)
)# 2.添加数据
pie.add('销售额',[('手机', 20289), ('耳机', 10000), ('手表', 5679), ('电脑', 17283), ('其他', 9567)],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
from pyecharts.globals import ThemeTypemap1 = Map()map1.add('新增人数',[('成都市', 173), ('眉山市', 309), ('绵阳市', 26), ('乐山市', 108), ('广元市', 780)],		# 城市或省份名字要写全'四川',		# 制的是哪里的地图就写哪里min_scale_limit=0.7,max_scale_limit=2.5
)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.render('files/map1.html')

效果图:
在这里插入图片描述

五、词云

from pyecharts.charts import WordCloudwc = WordCloud()wc.add('游戏人数',[('王者荣耀', 28374), ('CS Go', 6890), ('和平精英', 10293), ('英雄联盟', 30091),('开心消消乐', 7037), ('刀塔', 1023), ('CF', 567), ('红色警戒', 611), ('魔兽', 6718),('保卫萝卜', 2526), ('羊了个羊', 7281), ('植物大战僵尸', 12234), ('原神', 4566),('狼人杀', 62121), ('俄罗斯方块', 2623), ('QQ炫舞', 672), ('QQ空间', 111), ('QQ飞车', 172),('阴阳师', 9), ('找你妹', 809), ('你画我猜', 121), ('炉石传说', 23), ('我的世界', 2133),('蜘蛛纸牌', 52), ('部落冲突', 6272), ('欢乐斗地主', 727), ('森林冰火人', 236), ('贪吃蛇大作战', 40),('小花仙', 34), ('推箱子', 7), ('纸牌', 1221), ('地铁跑酷', 211), ('扫雷', 23)],shape='cardioid',
)wc.render('files/词云.html')

效果图:
在这里插入图片描述

六、组合图

from pyecharts.charts import Bar, Line, Pie, Map, Grid
from pyecharts import optionsbar = 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=(60, 120),rosetype='radius',center=(800, 130)
)
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=(165, 30))
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)
)# ------------------组合上面四个图-----------------------
# 1.创建Grid对象
grid = Grid(init_opts=options.InitOpts(# 设置放组合图的盒子的宽高width='1500px',height='1000px'
))# 2.添加需要组合在一起的图表对象
grid.add(bar, grid_opts=options.GridOpts(pos_left=100,pos_top=20,width=450,height=200
))grid.add(line, grid_opts=options.GridOpts(pos_left=650,pos_top=350,width=450,height=200
))grid.add(pie, grid_opts=options.GridOpts())grid.add(map1, grid_opts=options.GridOpts())# 3.渲染组合图
grid.render('files/组合.html')

效果图:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/gyaZtiTH.shtml

相关文章

vue-echarts主题切换+选择面板实现

通过实现主题选择面板,更方便的对echarts图表进行主题的切换,并且支持饼状图、折线图、柱状图等多类型echarts图表。 目录 1、实现过程 1.1、导入echarts主题JS文件 1.2、添加选择按钮图片 1.3、添加按钮 1.4、主题选择面板实现 1.5、初始化echart…

echarts 2.0 macarons主题安装

2019独角兽企业重金招聘Python工程师标准>>> 主题下载: http://echarts.baidu.com/doc/example/theme/macarons.js 其他主题改名字就好了.[无责任猜测] 这里采用AMD加载方式 [博主用的是requirejs] 在main.js中 require.config({paths:{echarts:js/echarts/echarts…

魔法值及魔法值处理方法

魔法值 什么是魔法值 所谓的魔法值就是在代码中直接出现的数字。   PS:代码中有魔法值会造成代码可读性低(与代码量成正比)。还会造成维护困难,改动一个数值便要大动干戈,牵一发而动全身。应当尽力消灭或减少魔法值…

别让【魔法值】毁了你的代码!

二分钟,教你一个写代码的好习惯。 大家好,我是鱼皮,今天通过一件事情,分享写代码时的一个重要小技巧。 前段时间,我在编程导航项目中开源了一段代码,实现的功能是,当用户的操作失败时&#xff…

【java】万恶的魔法值

在最近的小云通知项目中,我负责维护后端的开发,也是深刻体会到用魔法值会给维护人员带来多大的痛苦!可谓一个bug改一天…… 文章目录 什么是魔法值怎么处理魔法值 什么是魔法值 首先我们说一下什么是魔法值,所谓魔法值&#xff0…

什么是java中的魔法值

自从在idea上用了 《阿里巴巴Java开发手册》的插件之后 这里附上对应的插件安装方法:https://developer.aliyun.com/article/224817 偶然发现自己的代码中出现了所谓的 “魔法值” 什么是魔法值呢 所谓魔法值,就是在代码中直接出现的数值,只…

Java中的魔法值和解决方法

目录 一、什么是魔法值 二、解决方法 一、什么是魔法值 魔法数值、魔法数字、魔法值,这是一个东西,不同的叫法。 所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义,数字…

java 不要使用魔法值_为什么阿里巴巴Java开发手册中不允许魔法值出现在代码中?...

武培轩 推荐搜索 JavaSpring Boot数据结构MySQLElasticsearchNginx 在阅读《阿里巴巴Java开发手册》时,发现有一条关于关于常量定义的规约,具体内容如下: 图中的反例是将数据缓存起来,并使用魔法值加链路 id 组成 key,…

java 项目减少魔法值_项目代码中魔法值的优雅处理

经常在代码里面会用一些表示有意义的数字,但是如果不写注释的话,过了一段时间我们自己再回去优化代码的时候,可能自己也不清楚这些数字表示的是什么意思了。 如果写注释的话,就要每次使用数字的时候都要写注释了,这样的…

java 魔法值_Java 开发技巧:减少魔法值的使用

1. 前言 重构老代码中遇到了类似这种写法: public void attend(String value){ if ("0".equals(value)) { //todo } else if ("1".equals(value)) { //todo } else { //todo } } 脑壳疼!从 Java 语法上无懈可击,但是从业…

IDEA快速去除魔法值

背景 写代码有的时候为了方便,会在代码里面留下很多字符串之类的变量。这种便便会被定义为魔法值。 这种变量正常来讲不影响阅读的。所以一般情况下,我们都不会去处理它。 但是当项目越来越大的时候,我们发现很多地方都有可能使用了同一个…

魔法值与解决办法

1.什么是魔法值 魔法值是指代码中突然出现的数字,之所以称为魔法值,是因为这个20可以有多种意义。在新来的员工接手你的代码时,他们产生疑问:为什么要设这个20,背后有什么秘密吗。大大降低了代码的可维护性。 2.解决办…

java怎么字符连接换行_Java中的换行、转义字符和连接字符-Go语言中文社区

语句输出的换行 我们之前完成了我们的第一个Java输出语句,接下来我们可以做一个简单的输出换行与不换行操作。 例如:我们输出天王盖地虎和宝塔镇河妖 public class Demo1 { public static void main(String[] args) { System.out.println("天王盖地…

java csv 换行_javacsv如何换行输入

javacsv如何换行输入 [2021-02-10 01:25:25] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐:《PHP视频教 java怎么输入换行…

java输出流怎样换行_Java中输出流续写和换行写方法,需要用到的构造方法的知识点...

/* FileOutputStream​(String name, boolean append) 创建文件输出流以指定的名称写入文件。 FileOutputStream​(File file, boolean append) 创建文件输出流以写入由指定的 File对象表示的文件。 创建指定File对象表示的文件中写入数据的文件输出流 构造方法的参数: String …

Java输入换行结束

问题出现 : 我在写一个程序的时候,会发现当我想要用while()循环得到一组数字的时候,不加控制条件while()循环就不会停止。 Scanner scanner1 new Scanner(System.in);while(scanner1.hasNext()){System.out.println(scanner1.nextInt());} …

java中的换行

纯copy的 \r return 到当前行的最左边 \n newline 向下移动一行,并不移动左右。 \r\n ("\r","\n"和"\r\n"),导致输出结果可能出现错误或不一致。建议在代码中统一使用一个…

Java中换行输出的两种方法

效果: 方法一: public class ChairMan{public static void main(String[] args){System.out.printlin("姓名:法外狂徒");System.out.printlin("性别:男");System.out.printlin("家庭住址:北…

Java换行输出的5种方式

///可以在格式化输出类型%n来指定输出一行,其效果等同于println ///println()相当于printf( ),即另起一行输出对应的参数后,再进行一次换行

java常识-java怎么换行

文章目录 "\r"和"\n"的区别"\r"和"\n"的由来回车键和输入的"\n"有不同吗? 系统影响java使用换行符的几种方式 “\r"和”\n"的区别 回车 \r 本义是光标重新回到本行开头,r的英文return,控…