Matplotlib实战之柱状图绘制详解
柱状图,是一种使用矩形条,对不同类别进行数值比较的统计图表。
在柱状图上,分类变量的每个实体都被表示为一个矩形(通俗讲即为“柱子”),而数值则决定了柱子的高度。
1. 主要元素
柱状图是一种用长方形柱子表示数据的图表。
它包含三个主要元素:
- 横轴(x轴):表示数据的类别或时间。
- 纵轴(y轴):表示数据的数量或百分比。
- 柱子:用于表示每个数据类别或时间段的数量或百分比,柱子的高度与数据的大小成比例。
2. 适用的场景
柱状图适用于以下分析场景:
- 比较不同类别或时间段的数量或百分比。
- 显示数据的分布情况,如数据的最大值、最小值、平均值等。
- 强调数据的变化趋势。
- 比较不同组之间的差异。
- 分析数据的增长或下降情况。
3. 不适用的场景
柱状图不适用于以下分析场景:
- 数据之间存在比例关系,如占比、比率等,此时应该使用饼图或堆积图。
- 数据之间存在时间序列关系,此时应该使用折线图。
- 数据之间存在空间关系,此时应该使用地图。
- 数据之间存在相关性关系,此时应该使用散点图。
4. 分析实战
这次选用王者荣耀2023年KPL春季赛的战队数据: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实战之柱状图绘制详解的详细内容,更多关于Matplotlib柱状图的资料请关注脚本之家其它相关文章!
相关文章
python 解决mysql where in 对列表(list,,array)问题
这篇文章主要介绍了python 解决mysql where in 对列表(list,,array)问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06caffe的python接口绘制loss和accuracy曲线
这篇文章主要为大家介绍了caffe的python接口绘制loss和accuracy曲线示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-06-06Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
这篇文章主要介绍了Python实现批量修改图片格式和大小的方法,结合实例形式分析了Python基于opencv库与PIL库针对图片的读写、转换相关操作技巧,需要的朋友可以参考下2018-12-12盘点Python加密解密模块hashlib的7种加密算法(推荐)
这篇文章主要介绍了盘点Python加密解密模块hashlib的7种加密算法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-04-04
最新评论