文章详情

Python教你绘制卡塔尔世界杯赛事时间线图

阅读: 38次 发表于:2022-11-17 10:19

大家好,我是【Python当打之年】

本期主要利用pyecharts教大家制作 2022卡塔尔世界杯小组赛赛事时间线图 ,希望对大家有所帮助。

先看看效果:

Python教你绘制卡塔尔世界杯赛事时间线图1. 数据

以下面格式为例,读取数据:

df_t = pd.read_table('data.txt',sep=' ')

Python教你绘制卡塔尔世界杯赛事时间线图2. Pyecharts绘图

2.1 导入绘图模块

from pyecharts.charts import *from pyecharts import options as opts

2.2 数据处理

法国、英格兰、德国、西班牙、巴西、阿根廷格式用到rich 富文本设置方式:

for idx, row in df_t.iterrows(): msg = '{c|%s %s}n{a|%s}n{b|%s}' % (row['日期'],row['时间'], row['双方'], row['球场']) l_item = opts.LineItem( name=10, value=counter, symbol='emptyCircle', symbol_size=10, label_opts=opts.LabelOpts( is_show=True, font_size=16, font_family='STXingkai', position=position[counter%2], formatter=msg, rich = { 'a': { 'fontSize': 18, 'color': colors_t[0], 'fontWeight':'bold', 'align':position[(counter 1)%2], }, 'b': { 'fontSize': 15, 'color':colors_t[2], 'align':position[(counter 1)%2]}, 'c': { 'fontSize': 15, 'color': colors_t[1], 'fontWeight':'bold', 'align':position[(counter 1)%2]} } ) ))

2.3 绘制直线图

line = ( Line(init_opts=opts.InitOpts(theme='light',width='800px',height='2800px',bg_color='white')) .add_xaxis(['']) .add_yaxis( '', y_data[::-1], tooltip_opts=opts.TooltipOpts(is_show=False) ) .set_global_opts( xaxis_opts=opts.AxisOpts(is_show=False, type_='category'), yaxis_opts=opts.AxisOpts(is_show=False, type_='category', max_=len(y_data)), ))

2.4 设置线型

linestyle_opts={ 'normal': { 'width': 4, # 设置线宽 'color':'#1A237E', 'shadowColor': 'rgba(155, 18, 184, .3)', # 阴影颜色 'shadowBlur': 10, # 阴影大小 'shadowOffsetY': 10, # Y轴方向阴影偏移 'shadowOffsetX': 10, # x轴方向阴影偏移 }},itemstyle_opts={ 'normal': { 'color':'red', 'shadowColor': 'rgba(155, 18, 184, .3)', # 阴影颜色 'shadowBlur': 10, # 阴影大小 'shadowOffsetY': 10, # Y轴方向阴影偏移 'shadowOffsetX': 10, # x轴方向阴影偏移 }}

2.5 设置背景

graphic_opts=[ opts.GraphicGroup( graphic_item=opts.GraphicItem(id_='1',left="center", top="center", z=-1), children=[ opts.GraphicImage(graphic_item=opts.GraphicItem(id_="logo",left='center',z=-1), graphic_imagestyle_opts=opts.GraphicImageStyleOpts( image='https://search-operate.cdn.bcebos.com/e7c2273cc53746916aa6f9fd9b81d262.png', width=600, height=800, opacity=0.2,) ) ] )]

2.6 设置标题

title_opts=opts.TitleOpts( title='2022卡塔尔世界杯--小组赛', subtitle='(制图@微信公众号:Python当打之年)', pos_left='center', pos_top='1%', title_textstyle_opts=opts.TextStyleOpts(color='#880E4F', font_size=28), subtitle_textstyle_opts=opts.TextStyleOpts(color='#263238', font_size=14))

大功告成!!!

3. 更多内容

《可视化图鉴》源码:

https://www.heywhale.com/home/column/60e2740e3aeb9c0017b967a2

END

以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、转发,也可以在评论区留言相互交流。文章首发公众号 “Python当打之年” ,每天都有python编程技巧推送,希望大家可以喜欢。

本站声明:以上部分图文视频来自网络,如涉及侵权请联系删除

推荐阅读
热门标签
返回顶部