对比Excel,用Python绘制旋风图~

简介: 对比Excel,用Python绘制旋风图~

大家好,我是志斌~


今天来给大家介绍一下如何通过Excel和Python进行绘制旋风图,如下图。


88.png


Excel绘制


首先,选中全部数据,然后点击【插入】→【图表】→【推荐的图表】→【所有图表】→【堆积条形图】。


89.png


然后,点击图表中掘金的数据,按鼠标右键选择【设置数据系列格式】→【次坐标轴】。


90.png


接着点击上坐标轴,然后按鼠标右键选择【设置数据系列格式】,将最大值和最小值分别设置为130和-130,并勾选下方【逆序刻度值】。


91.png


同理,点击下坐标轴,然后按鼠标右键选择【设置数据系列格式】,将最大值和最小值也分别设置为130和-130。


92.png

点击纵坐标轴,选择【标签】→【标签位置】,设置成低,我们这个关于掘金和勇士的旋风对比图就做好了。


93.png


在对图表进行一些优化,使它更加美观。


94.png


Python绘制


matplotlib可以轻松的绘制旋风图,如下图所示。


95.png


部分核心代码:


import matplotlib.pyplot as plt
# 设置中文显示为微软雅黑
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
x = ["得分","篮板","助攻","抢断","盖帽","失误","罚球","三分","犯规"]
y = [107,35,26,8,3,10,10,11,22]
z = [123,41,33,5,7,12,21,16,22]
# 增加一个固定维度,长度与上述数据一样
fix_value = []
# 求出数据y和z的最大值,取其1/4的值作为固定长度
value_max = max(max(y), max(z))
fix_temp = value_max / 4
for i in range(len(x)):
   fix_value.append(fix_temp)
# 将y,z其中一个维度变为负值,我们选择z
z_ne = [-i for i in z]
# 设置画布大小
plt.figure(figsize=(8, 5))
# 画条形图,设置颜色和柱宽,将fix_value,y,z_ne依次画进图中
plt.barh(x, fix_value, color='w', height=0.5)
plt.barh(x, y, left=fix_value, color='#037171', label='y', height=0.5)
plt.barh(x, z_ne, color='#FF474A', height=0.5, label='z')
# 添加数据标签,将fix_value的x标签显示出来,y和z_ne的数据标签显示出来
for a, b in zip(x, fix_value):
   plt.text(b / 2, a, '%s' % str(a), ha='center', va='center', fontsize=12)
for a, b in zip(x, y):
   plt.text(b + fix_temp + value_max / 20, a, '%d' % int(b), ha='center', va='center')
for a, b in zip(x, z):
   plt.text(-b - value_max / 20, a, '%d' % int(b), ha='center', va='center')


小结


  1. Excel和Python都有很强的绘图功能,有条件大家都可以学习掌握一下。
  2. 后台回复【旋风图】,即可获得源码和数据集。






相关文章
|
2月前
|
Python
Python办公自动化:xlwings对Excel进行分类汇总
Python办公自动化:xlwings对Excel进行分类汇总
88 1
|
2月前
|
Python
Python自动化:xlwings合并Excel
Python自动化:xlwings合并Excel
55 0
|
16天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
58 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
51 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
30天前
|
Python
python读写操作excel日志
主要是读写操作,创建表格
60 2
|
1月前
|
Python
Python 自动化操作 Excel - 02 - xlwt
Python 自动化操作 Excel - 02 - xlwt
40 14
|
1月前
|
Python
Python 自动化操作 Excel - 03 - xlutils
Python 自动化操作 Excel - 03 - xlutils
36 13
|
1月前
|
数据处理 Python
Python 高级技巧:深入解析读取 Excel 文件的多种方法
在数据分析中,从 Excel 文件读取数据是常见需求。本文介绍了使用 Python 的三个库:`pandas`、`openpyxl` 和 `xlrd` 来高效处理 Excel 文件的方法。`pandas` 提供了简洁的接口,而 `openpyxl` 和 `xlrd` 则针对不同版本的 Excel 文件格式提供了详细的数据读取和处理功能。此外,还介绍了如何处理复杂格式(如合并单元格)和进行性能优化(如分块读取)。通过这些技巧,可以轻松应对各种 Excel 数据处理任务。
193 16
|
1月前
|
Python
Python 自动化操作 Excel - 01 - xlrd
Python 自动化操作 Excel - 01 - xlrd
36 9
|
1月前
|
IDE 开发工具 数据安全/隐私保护
Python编程--实现用户注册信息写入excel文件
Python编程--实现用户注册信息写入excel文件
下一篇
无影云桌面