大家好,我是欧K~
卡塔尔世界杯开赛在即,本期利用python教大家制作 2022卡塔尔世界杯32强身价排行榜图 ,希望对大家有所帮助。
- FIFA国家队排名前十:
1 - 巴西
2 - 比利时
3 - 阿根廷
4 - 法国
5 - 英格兰
6 - 意大利 (未进入正赛)
7 - 西班牙
8 - 荷兰
9 - 葡萄牙
10 - 丹麦
巴西 、 比利时 、阿根廷FIFA排名位居三甲,法国、英格兰紧随其后。
- 世界杯身价排名前十:
1 - 英格兰
2 - 巴西
3 - 法国
4 - 葡萄牙
5 - 西班牙
6 - 德国
7 - 阿根廷
8 - 荷兰
9 - 比利时
10 - 乌拉圭
英格兰、 巴西、法国以超过10亿欧元的身价排名前三位,葡萄牙、西班牙也以超过9亿欧元的身价排在第四、第五位。
1. 数据
以下面格式为例:
2. Pyecharts绘图
2.1 绘制表头
ax.text(2.2, tit_pos, '排名', ha='center', va='bottom', fontsize=10, fontweight='heavy') ax.text(7.7, tit_pos, '球队', ha='center', va='bottom', fontsize=10, fontweight='heavy') ax.text(12.5, tit_pos, '身价(亿欧)', ha='center', va='bottom', fontsize=10, fontweight='heavy') ax.text(27, tit_pos, 'FIFA国家队排名', ha='center', va='bottom', fontsize=9, fontweight='heavy')
2.2 绘制排名、球队以及国旗
for a, b in zip(y, x): print(a,b) path = f'./pic/{names[k]}.gif' arr_img = mpimg.imread(path) imagebox = OffsetImage(arr_img, zoom=0.26) ab = AnnotationBbox(imagebox, [5, b], pad=0.02, frameon=False) ax.add_artist(ab) ax.text(a+12, b - 0.35, '%.2f' % a, ha='center', va='bottom', fontsize=9) ax.text(27, b - 0.22, z[k], ha='center', va='bottom', fontsize=10, fontweight='heavy') ax.text(2, b - 0.22, x[::-1][k], ha='left', va='bottom', fontsize=10) ax.text(7, b - 0.22, names[k], ha='left', va='bottom', fontsize=10)
2.3 绘制身价柱状图
names = df['球队'].values.tolist() x = df['排名'].values.tolist()[::-1] y = df['身价(亿欧)'].values.tolist() z = df['FIFA国家队排名'].values.tolist() norm_values = norm(y) map_vir = cm.get_cmap(name='Spectral') colors = map_vir(norm_values) labels = df['球队'].values.tolist() ax.barh(x, y, left=11,tick_label=labels, height=0.5, color=colors[::-1])
2.4 绘制FIFA排名散点图
asc = sorted(z) dd = [asc.index(i) for i in z] ax.scatter([27]*32, x, s=[asc[31-i]*10 for i in dd], color=colors[::-1],alpha=0.4)
2.5 设置背景
ax.imshow(img,extent=[5, 25, 5, 30],alpha=0.2)
2.6 设置标题
ax.text(6.6, 37, '世界杯三十二强身价排行榜', fontdict={'color': '#880E4F', 'size': 20}, fontweight='heavy') ax.text(10, 36, '(制图@公众号:Python当打之年)', fontsize = 9, fontweight='heavy',alpha=1, color = '#5D4037') ax.text(6.6, 35, '*注:FIFA国家队排名前10中仅意大利(排名第6)未进入32强', fontsize = 9, fontweight='heavy',alpha=.9, color = '#662400')
完成效果如下图:
身价最高的一定最强吗?英格兰要夺冠啦?小伙伴们怎么看...
END
以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、点在看也可以分享让更多人知道