文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【数据分析之道-Matplotlib(五)】Matplotlib柱状图

2023-09-25 19:10

关注

在这里插入图片描述

文章目录

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》《机器学习案例》

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

1、matplotlib柱状图基本语法

柱状图(Bar Plot)是一种常用的数据可视化方式,用于显示各个类别之间的比较。在Matplotlib中,可以使用bar()函数或barh()函数来绘制柱状图。

1.1bar()函数绘制垂直柱状图基本语法

使用bar()函数绘制垂直柱状图的基本语法如下:

plt.bar(x, height, width=0.8, align='center', color=None, edgecolor='black')

参数说明:

1.2barh()函数绘制垂直柱状图基本语法

使用barh()函数绘制水平柱状图的基本语法如下:

plt.barh(y, width, height=0.8, align='center', color=None, edgecolor='black')

参数说明:

除了上述的基本参数外,bar()和barh()函数还支持其他参数,如设置标签、调整刻度、添加图例等,以进一步自定义柱状图的样式和布局。

通过设置合适的数据和调整参数,你可以创建出具有各种样式和效果的柱状图,用于展示类别之间的比较、分布等信息。

2、使用 bar() 来创建一个简单的柱形图

import matplotlib.pyplot as plt# 数据categories = ['A', 'B', 'C', 'D']values = [15, 20, 12, 18]# 绘制柱状图plt.bar(categories, values)# 设置标题和坐标轴标签plt.title('Bar Chart')plt.xlabel('Categories')plt.ylabel('Values')# 显示图形plt.show()

在这里插入图片描述

在这个例子中,我们定义了四个类别(A、B、C、D)和对应的数值(15、20、12、18)。然后使用bar()函数绘制了柱状图,categories作为横坐标,values作为纵坐标。
我们还设置了标题和坐标轴标签,分别使用title()、xlabel()和ylabel()函数。
最后,通过show()函数显示图形。

3、垂直方向的柱形图可以使用 barh() 方法来设置

import matplotlib.pyplot as plt# 数据categories = ['A', 'B', 'C', 'D']values = [15, 20, 12, 18]# 创建垂直柱形图plt.barh(categories, values)# 设置标题和坐标轴标签plt.title('Vertical Bar Chart')plt.xlabel('Values')plt.ylabel('Categories')# 显示图形plt.show()

在这里插入图片描述

在这个例子中,我们使用barh()方法创建了一个垂直柱形图。与bar()方法相比,我们只需将数据传递给barh()方法,并将类别作为纵坐标。
然后,我们设置了标题和坐标轴标签,分别使用title()、xlabel()和ylabel()方法。
最后,通过show()方法显示图形。

4、设置柱形图颜色

可以使用color参数来设置柱形图的颜色。color参数可以接受单个颜色值或颜色列表,用于指定柱形图的颜色。

4.1使用单个颜色值

import matplotlib.pyplot as pltcategories = ['A', 'B', 'C', 'D']values = [15, 20, 12, 18]plt.bar(categories, values, color='blue')plt.title('Bar Chart')plt.xlabel('Categories')plt.ylabel('Values')plt.show()

在这里插入图片描述

在上述代码中,我们使用color参数来设置柱形图的颜色。在例子中,我们使用单个颜色值 ‘blue’ 来设置所有柱形的颜色。

4.2使用颜色列表

import matplotlib.pyplot as pltcategories = ['A', 'B', 'C', 'D']values = [15, 20, 12, 18]colors = ['red', 'green', 'blue', 'yellow']plt.bar(categories, values, color=colors)plt.title('Bar Chart')plt.xlabel('Categories')plt.ylabel('Values')plt.show()

在这里插入图片描述

在上述代码中,我们使用color参数来设置柱形图的颜色。在第例子中,我们使用颜色列表 [‘red’, ‘green’, ‘blue’, ‘yellow’] 来为每个柱形设置不同的颜色。

5、设置柱形图宽度

可以使用width参数来设置垂直柱形图的宽度,使用height参数来设置水平柱形图的高度。这两个参数可以用于调整柱形的宽度或高度。

5.1使用width参数设置垂直柱形图的宽度

import matplotlib.pyplot as pltcategories = ['A', 'B', 'C', 'D']values = [15, 20, 12, 18]plt.bar(categories, values, width=0.5)plt.title('Vertical Bar Chart')plt.xlabel('Categories')plt.ylabel('Values')plt.show()

在这里插入图片描述

在这个例子中,我们将width参数设置为0.5,以调整垂直柱形图的宽度。

5.2使用height参数设置水平柱形图的高度

import matplotlib.pyplot as pltcategories = ['A', 'B', 'C', 'D']values = [15, 20, 12, 18]plt.barh(categories, values, height=0.5)plt.title('Horizontal Bar Chart')plt.xlabel('Values')plt.ylabel('Categories')plt.show()

在这里插入图片描述

在这个例子中,我们将height参数设置为0.5,以调整水平柱形图的高度。

6、综合案例

import matplotlib.pyplot as pltfig, ax = plt.subplots()fruits = ['apple', 'blueberry', 'cherry', 'orange']counts = [40, 100, 30, 55]bar_labels = ['red', 'blue', '_red', 'orange']bar_colors = ['tab:red', 'tab:blue', 'tab:red', 'tab:orange']ax.bar(fruits, counts, label=bar_labels, color=bar_colors)ax.set_ylabel('fruit supply')ax.set_title('Fruit supply by kind and color')ax.legend(title='Fruit color')plt.show()

在这里插入图片描述

首先,我们导入了matplotlib.pyplot模块,并创建了一个Figure对象和一个Axes对象,通过plt.subplots()函数来实现。
接下来,我们定义了水果的种类(fruits)和对应的供应量(counts)。同时,我们定义了柱子的标签(bar_labels)和颜色(bar_colors)。
使用ax.bar()方法来绘制柱状图,传入水果种类、供应量、标签和颜色。label参数用于设置每个柱子的标签,color参数用于设置柱子的颜色。
然后,我们使用ax.set_ylabel()和ax.set_title()方法设置y轴标签和图表标题。
最后,通过ax.legend()方法添加图例,并通过plt.show()显示图形。
这段代码生成的柱状图显示了不同种类和颜色的水果供应量。每个柱子的高度表示对应种类水果的供应量,颜色表示水果的颜色。图例显示了每种颜色所代表的水果。


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

来源地址:https://blog.csdn.net/AOAIYI/article/details/130909201

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯