【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 = ...
随机推荐
- 文字生成图像 AI免费工具第一弹 StableDiffusion
随着ChatGPT的爆火,text-to-image文字生成图像.以及更广义的AIGC(AI Generated Content)相关的话题最近一直热度不减.相信大家这几天经常会在各类的自媒体.甚至是 ...
- .NET 8 Preview 5发布,了解一下Webcil 是啥
2023年6月13日 .NET 8 Preview 5,.NET 团队在官方博客发布了系列文章: Announcing .NET 8 Preview 5 ASP.NET Core updates in ...
- ShardingSphere5入门到实战
ShardingSphere5入门到实战 第01章 高性能架构模式 互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能.高性能数据 ...
- Java在算法竞赛中的一些技巧
转载请注明出处(- ̄▽ ̄)- 谈到算法竞赛中使用Java,那么有一个绕不开的点就是如何快速地输入输出.通常来说,Scanner类固然可以帮助我们顺利地完成各种输入要求,而syso(System.o ...
- 如何洞察 .NET程序 非托管句柄泄露
一:背景 1. 讲故事 很多朋友可能会有疑问,C# 是一门托管语言,怎么可能会有非托管句柄泄露呢? 其实一旦 C# 程序与 C++ 语言交互之后,往往就会被后者拖入非托管泥潭,让我们这些调试者被迫探究 ...
- SRS之StateThreads学习
最近在看SRS的源码.SRS是基于协程开发的,底层使用了StateThreads.所以为了充分的理解SRS源码,需要先学习一下StateThreads.这里对StateThreads的学习做了一些总结 ...
- kbuild系统中最简单的目标 -- help(三)
当你学完help目标后你会发现它与我们的代码基本没有什么直接的关系,仅仅是用来生成kbuild的简短使用说明,但是用它来作为学习掌握kbuild编译系统的开篇,不管是从难度还是学习感受上真的是再适合不 ...
- 2023年郑州轻工业大学校赛邀请赛yy
这也是第一次参加几个人以组队的形式来进行答题.评比,而且这是一场线下赛,收获更是很多.题目一共有十二道,一共五个小时,我们上来也是没有头绪先做哪个,可能三个人的思路不太一样,我们最终先写了第一题,写出 ...
- CocosCreator + Vscode + Ts 代码注释生成文档,利用typedoc
需求: 脚本的代码注释,生成为文档 基本搭建环境: (cocoscreator 2.4.x + vscode + ts) .(nodejs + npm) 步骤: 1.安装typedoc: npm in ...
- Linux 文件系统的设计
一 硬盘的最小存储单元是扇区,扇区大小为512B 文件系统将硬盘划分为固定大小的块(block),最常见的块大小为4KB 块是文件系统读写硬盘的最小单位 二 文件系统设计面临的基本问题: 用户怎么找到 ...