【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 = ...
随机推荐
- idea设置字体大小(换主题后的字体大小设置)
如果你是默认主题 直接这样设置字体大小 如果你换了自定义主题 如果你换了自定义主题,那么上面的设置方法会没有作用,我们需要像下面这样设置:
- C++ 核心指南之资源管理(中)
C++ 核心指南(C++ Core Guidelines)是由 Bjarne Stroustrup.Herb Sutter 等顶尖 C++ 专家创建的一份 C++ 指南.规则及最佳实践.旨在帮助大家正 ...
- mysql concat函数的用法
mysql中的这个函数非常强大,可以对查出的参数进行拼接,其实这个方法在java中也有api可以进行调用. 那么什么时候进行使用呢?例如,你老大叫你做一个数据库的数据采集,需要整理成文档,那么这个时候 ...
- Python Django Web开发实战
Python Django全面介绍 Django是一个非常强大的Python Web开发框架,它以"快速开发"和"干净.实用的设计"为设计宗旨.本文将从Djan ...
- Spring Loaded代码热更新实践和原理分析
1.引言 开发者在编码效率和快速迭代中的痛点场景包括: 修改代码后,需要频繁重启应用,导致开发效率低下: 实时调试时,不能立即看到代码修改的结果: 大型项目中,重启的时间成本较高. 针对这些问题,本文 ...
- 2023-07-08:RabbitMQ如何做到消息不丢失?
2023-07-08:RabbitMQ如何做到消息不丢失? 答案2023-07-08: 1.持久化 发送消息时设置delivery_mode属性为2,使消息被持久化保存到磁盘,即使RabbitMQ服务 ...
- 【转载】老男孩读PCIe
目录 老男孩读PCIe之一:从PCIe速度说起 老男孩读PCIe之二:PCIe拓扑结构 老男孩读PCIe之三:PCIe分层结构 老男孩读PCIe之四:TLP类型 老男孩读PCIe之五:TLP结构 老男 ...
- 行行AI人才直播第13期:刘红林律师《AIGC创业者4大法律问题需注意》
行行AI人才(海南行行智能科技有限公司)是博客园和顺顺智慧共同运营的AI行业人才全生命周期服务平台. AIGC爆火至今,商业落地已成为各行各业焦点的问题.它的广泛应用也带来了一系列的法律风险和挑战.一 ...
- Linux 命令:grub2-mkconfig
检索这个命令的,肯定都知道 grub 是 bootloader 程序,用于引导系统启动.配置文件是 grub.conf,现在一般的 grub 版本是grub2. 当机器上安装有多个内核.或者多个操作系 ...
- Codeforces Round #888 (Div. 3) A-G
比赛链接 A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; bool solve() { i ...