【matplotlib 实战】--柱状图
柱状图,是一种使用矩形条,对不同类别进行数值比较的统计图表。
在柱状图上,分类变量的每个实体都被表示为一个矩形(通俗讲即为“柱子”),而数值则决定了柱子的高度。
1. 主要元素
柱状图是一种用长方形柱子表示数据的图表。
它包含三个主要元素:
- 横轴(x轴):表示数据的类别或时间。
- 纵轴(y轴):表示数据的数量或百分比。
- 柱子:用于表示每个数据类别或时间段的数量或百分比,柱子的高度与数据的大小成比例。

2. 适用的场景
柱状图适用于以下分析场景:
- 比较不同类别或时间段的数量或百分比。
- 显示数据的分布情况,如数据的最大值、最小值、平均值等。
- 强调数据的变化趋势。
- 比较不同组之间的差异。
- 分析数据的增长或下降情况。
3. 不适用的场景
柱状图不适用于以下分析场景:
- 数据之间存在比例关系,如占比、比率等,此时应该使用饼图或堆积图。
- 数据之间存在时间序列关系,此时应该使用折线图。
- 数据之间存在空间关系,此时应该使用地图。
- 数据之间存在相关性关系,此时应该使用散点图。
4. 分析实战
这次选用王者荣耀2023年KPL春季赛的战队数据:https://databook.top/wzry/2023-spring
4.1. 数据来源
fp = "d:/share/league-2023春季赛.csv"
df = pd.read_csv(fp)
df.loc[:, ["排名", "战队", "比赛场次", "胜场"]]

4.2. 数据清理
本次实战用柱状图展示前6名的比赛场次和胜场,也就是每个战队有2个柱子。
df.loc[:5, ["排名", "战队", "比赛场次", "胜场"]]

4.3. 分析结果可视化
data = df.loc[:5, ["排名", "战队", "比赛场次", "胜场"]]
with plt.style.context("seaborn-v0_8"):
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
teams = data["战队"].tolist()
games = {
"比赛场次": data["比赛场次"].tolist(),
"胜场": data["胜场"].tolist(),
}
width = 0.25
multiplier = 0
x = np.arange(len(teams))
for name, vals in games.items():
offset = width*multiplier
rects = ax.bar(x+offset, vals, width, label=name)
ax.bar_label(rects, padding=3)
multiplier+=1
ax.set_title("2023-KPL春季赛前六名")
ax.set_xticks(x+0.1, teams)
ax.legend(loc="upper left")

第一名重庆狼队,比赛场次总数倒数第二,但是胜场数确实第一,胜率明显高于其他队伍,不愧是冠军队伍。
战队,选手和各个英雄的数据都已经整理好分享在上面的URL中,感兴趣的话可以自己分析看看其他数据情况。
【matplotlib 实战】--柱状图的更多相关文章
- Python——使用matplotlib绘制柱状图
Python——使用matplotlib绘制柱状图 1.基本柱状图 首先要安装matplotlib(http://matplotlib.org/api/pyplot_api.htm ...
- 【学习总结】GirlsInAI ML-diary day-21-初识 Numpy, Matplotlib, Seanborn [柱状图、折线图、箱图]
[学习总结]GirlsInAI ML-diary 总 原博github链接-day21 初识 Numpy, Matplotlib, Seanborn [柱状图.折线图.箱图] 一.Titanic练习赛 ...
- matplotlib绘制柱状图
参考自Matplotlib Python 画图教程 (莫烦Python)(11)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili.com/video/av16 ...
- Matplotlib中柱状图bar使用
一.函数原型 matplotlib.pyplot.bar(left, height, alpha=1, width=0.8, color=, edgecolor=, label=, lw=3) 1. ...
- python3绘图示例2(基于matplotlib:柱状图、分布图、三角图等)
#!/usr/bin/env python# -*- coding:utf-8 -*- from matplotlib import pyplot as pltimport numpy as npim ...
- matplotlib 绘制柱状图的几个例子
1 error bar #!/usr/bin/env python # a bar plot with errorbars import numpy as np import matplotlib.p ...
- (转)matplotlib实战
原文:https://www.cnblogs.com/ws0751/p/8361330.html https://www.cnblogs.com/ws0751/p/8313017.html---mat ...
- matplotlib实战
plt.imshow(face_image.mean(axis=2),cmap='gray') 图片灰度处理¶ size = (m,n,3) 图片的一般形式就是这样的 rgb 0-255 jpg图 ...
- python学习之matplotlib实战2
import numpy as np import matplotlib.pyplot as plt def main(): #scatter fig = plt.figure() ax = fig. ...
- python学习之matplotlib实战
import numpy as np def main(): # print("hello") # line import matplotlib.pyplot as plt x = ...
随机推荐
- 多个commit合并为一个
在进行多个commit合并成一个博客编写的过程中,你可以使用以下代码示例作为参考: # 合并多个commit git rebase -i HEAD~N # N代表需要合并的commit数目,例如合并最 ...
- 相较于Scrum, 我更推崇精益Kanban,帮助团队建立价值交付流,识别瓶颈问题
最近在学习实践精益Kanban方法,结合自己团队实践Srum的经历,整理些资料二者的差异.相较于Scrum, 我更推崇精益Kaban. Agile是一套理论和原则,就像天边的北极星.Devops是一种 ...
- PE文件整体结构解析
DOS头 在之前,我们已经了解过PE文件的整体结构了,并且我们进行了静动态差异的文件分析,其开头部分就是DOS 部分,包含了DOS MZ文件头和DOS块,那么我们来了解一些DOS部分的结构和其相关意义 ...
- 用 Hugging Face 推理端点部署 LLM
开源的 LLM,如 Falcon.(Open-)LLaMA.X-Gen.StarCoder 或 RedPajama,近几个月来取得了长足的进展,能够在某些用例中与闭源模型如 ChatGPT 或 GPT ...
- .NET下数据库的负载均衡“经典方案”(大项目必备,建议收藏)
[前言] 本文讲述的"数据库负载均衡"方案,为市面上最经典(没有之一),由.NET界骨灰级大佬推出.采用该技术方案的大公司,一年省下了几个亿的支出. [正文] 支持.Net Cor ...
- appium环境搭建python
python appium环境搭建 appium是什么? 1,appium是开源的移动端自动化测试框架:2,appium可以测试原生的.混合的.以及移动端的web项目:3,appium可以测试io ...
- 加密解决HTTP协议带来的安全问题
HTTP协议默认是采取明文传输的,容易被中间人窃听.拦截.篡改,存在安全隐患. 常见提高安全性的方法是对通信内容进行加密,再进行传输,常见的加密方式有 不可逆加密:单向散列函数 可逆加密:对称加密.非 ...
- [python]使用diagrams绘制架构图
简介 diagrams是python的一个第三方库,用于实现使用代码绘制架构图. 安装 依赖于 Graphviz,安装diagrams之前需要先安装 Graphviz(下载压缩包后,将bin目录添加到 ...
- [mysql]MGR简介与部署
前言 MySQL Group Replication,简称MGR,是MySQL官方于2016年推出的一个全新的高可用解决方案,采用Paxos分布式一致性协议作为高可用和一致性解决方案.在MGR之前的高 ...
- Ansible快速复习
本文章是上一篇ansible自动化运维的快速复习以及项目上用到的一些命令,针对长时间未使用ansible,导致命令忘记的同学,帮助快速回忆.详细内容还是看上一章'ansible自动化运维'. 查看版本 ...