Python高考报考迁移图怎么实现
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容介绍了"Python高考报考迁移图怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一
千家信息网最后更新 2025年12月02日Python高考报考迁移图怎么实现
本篇内容介绍了"Python高考报考迁移图怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
第一步:整理数据
通过浏览器自带抓包工具得到数据接口:
https://voice.baidu.com/api/commonkvapi?aid=gaokao&data={"migration.list":{"descId":6}}&=返回的为json格式数据
接下来我们需要用python模拟爬取数据,原数据如上图,最后要把数据整理成字典格式,字典的键为省份,字典的值为该省考生最想去的前十个省份,格式如下:
{'青海': ['青海', '北京', '陕西', '江苏', '四川', '湖北', '上海', '甘肃', '山东', '重庆']}实现这一过程的python代码如下:
import requestsimport jsonurl='https://voice.baidu.com/api/commonkvapi?aid=gaokao&data={"migration.list":{"descId":6}}&='header = { 'User-Agent': 'Mozilla/5.0(Windows NT 6.1; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0'}response = requests.get(url, headers=header)results=json.loads(response.text)['data']['migration.list']dict={}for i in results: top_10=[] province=i['province'] for m in i['list'][2]['list'][:10]: top_10.append(m['name']) dict[province]=top_10print(dict)第二步:用pyecharts画出迁徙图
本次用的是0.5.11版本的pyecharts
画迁徙图的公式为:
from pyecharts import GeoLines, Stylestyle = Style()geo_style = style.add()citylines = GeoLines("2020年全国高考报考迁徙图", **style.init_style)citylines.add("迁徙图",[('北京','海南'),('北京','黑龙江'),('北京','西藏')],**geo_style)citylines.render()把上面这段代码记住,以后需要画迁徙图直接往里面套就行了,下面给大家详细介绍一下参数作用:
1.style是图表初始化配置,例如图像大小、背景颜色、标题位置等;
2.style的add参数介绍:
is stack:是否堆积is convert:x,y轴是否交换is_legend_show:是否显示图例legend_orient:图列方向,有'horizontal'(默认水平显示),'vertical'(垂直)可选legend_pos:图例位置,有'left', 'center'(默认), 'right'可选legend_text_size/color:图例名称字体大小/颜色is_x/yaxis_show:是否显示x/y轴x/yaxis_interval:x/y轴标签的显示间隔x/yaxis_min/max:x/y轴刻度最小值/最大值x/yaxis_label_textsize/textcolor:x/y轴标签字体大小/颜色xaxis_rotate:x轴标签旋转角度is_splitline_show:是否显示网格线is_label_show:是否显示标签label_pos:标签的位置,有'top'(默认), 'left', 'right', 'bottom','inside','outside'可选label_text_color/size:标签字体颜色/大小is_random:是否随机排列颜色列表label_color:自定义标签颜色mark_point/line:标记点/线,默认有'min', 'max', 'average'可选。可自定义标记点线,具体格式如:[{'coord': [x, y], 'name': '目标标记点'}],记住格式是一个列表mark_point/line_symbol:标记点/线图形,默认为'pin'(点),有'circle'(圆形), 'rect'(正方形), 'roundRect'(圆角正方形), 'triangle'(三角形), 'diamond'(菱形), 'pin'(点), 'arrow'(箭头)可选mark_point/line_symbolsize:标记点/线图形大小mark_point/line_textcolor:标记点/线字体颜色3.citylines表示定义1个迁徙图对象,可以添加标题以及初始化图标样式;
4.citylines.add可以添加标签、路线图以及图形样式
公式代码生成图形如下:
很基础的图形,没有任何样式。
套上述公式完成本次迁徙图,代码如下:
from pyecharts import GeoLines, Stylestyle = Style( title_color="#fff", title_pos="center", width=1200, height=900, background_color="#08192D")geo_style = style.add( legend_orient="vertical", legend_pos="left", legend_top = "center", legend_text_color="#fff", is_label_show=True, line_curve=0.2, line_opacity=0.6, geo_effect_symbol="plane", geo_effect_symbolsize=8, label_pos="right", label_formatter="{b}", label_text_color="#eee", symbol_size = 0.2, label_text_size=8, label_color=['#24936E','#6A4C9C','#0089A7','#BEC23F','#D0104C'])citylines = GeoLines("2020年全国高考报考迁徙图", **style.init_style)for city in list(dict.keys()): line_=[] for i in dict[city]: line_.append(tuple((city,i))) citylines.add("{0}".format(city),line_,**geo_style)citylines.render()看起来有点乱,不过可以通过点击左边标签选择显示单个省份,以河南为例:
通过分析,发现各地的考生想留在本省的居多,最后,我还想对这些迁徙图的目的地省市的出现次数进行排名,代码如下:
re_list=[]for city in list(dict.keys()): re_list+=dict[city]re_dict={}for i in list(set(re_list)): re_dict[i]=re_list.count(i)attr=sorted(re_dict.items(),key=lambda k:k[1],reverse=True)chart = Bar("最受喜爱省份排名", **style.init_style)chart.add("", [i[0] for i in attr], [i[1] for i in attr], is_stack=True,xaxis_rotate=45)chart.render('最受喜爱省份排名.html')"Python高考报考迁移图怎么实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
标签
颜色
数据
标记
代码
图形
大小
格式
省份
高考
字体
北京
位置
公式
图例
字典
样式
接下来
全国
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
最容易考的网络安全证书是啥
软件开发公司 无锡 薪酬
网络安全验证码生成及应用实验
不可以设置服务器管理网口
mysql数据库运维与架构设计
原神服务器通用吗
load 数据库
无线对讲系统服务器
vs2012数据库
游戏加载服务器配置失败什么意思
服务器怎么连接数据库
数据库提权
和服务器通讯失败
剑侠情缘服务器连接失败怎么办
租服务器一个月大概多少钱
db2数据库重建
网络安全博览会历史
合肥公司软件开发公司
茁壮网络技术支持面试
服务器上交易安全吗
深圳互联网未来科技城
网络安全情况调查
网络安全验证码生成及应用实验
无法登录其他服务器
应届软件开发简历模板下载
qq连接显示服务器超时
世邦对讲服务器配置
灵川县软件开发
如何观察数据库的情况
hpDL360G7服务器不显示