您现在的位置是:首页 >学无止境 >【数据分析之道-Matplotlib(七)】Matplotlib直方图网站首页学无止境

【数据分析之道-Matplotlib(七)】Matplotlib直方图

i阿极 2024-08-23 00:01:02
简介【数据分析之道-Matplotlib(七)】Matplotlib直方图

在这里插入图片描述

专栏导读

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

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

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

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

1、hist()基本语法

hist()函数是Matplotlib库中用于绘制直方图的函数。它的语法如下:

plt.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, 
         bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None,
         log=False, color=None, label=None, stacked=False, normed=None, **kwargs)

下面是一些常用参数的解释:

  • x: 必需参数,用于绘制直方图的数据。
  • bins: 可选参数,指定直方图的柱子数量或柱子的边界值。默认值为10。
  • range: 可选参数,指定直方图的取值范围。默认值为数据的最小值和最大值。
  • density: 可选参数,指定是否将直方图的高度归一化为概率密度。默认值为False。
  • histtype: 可选参数,指定直方图的类型。可以是’bar’(默认值),‘barstacked’,‘step’,'stepfilled’等。
  • color: 可选参数,指定直方图的颜色。
  • label: 可选参数,指定直方图的标签,用于图例显示。
  • align: 可选参数,指定柱子的对齐方式。可以是’left’,‘mid’(默认值),‘right’。
  • orientation: 可选参数,指定直方图的方向。可以是’vertical’(默认值),‘horizontal’。
  • rwidth: 可选参数,指定柱子的宽度,取值范围为[0, 1]。默认值为None,表示自适应宽度。
  • 其他参数:还可以传递其他关键字参数,用于进一步自定义直方图的样式和属性。

实例演示hist()制作简单的直方图:

import matplotlib.pyplot as plt
import numpy as np
# 准备数据
data = np.random.randn(1000)

# 绘制直方图
plt.hist(data)

# 添加标签和标题
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')

# 显示图表
plt.show()

在这里插入图片描述

2、使用 hist() 函数绘制多个数据组的直方图

当使用hist()函数绘制多个数据组的直方图时,可以在同一图表中显示这些直方图,并进行比较。
下面是一个示例,演示如何使用hist()函数绘制多个数据组的直方图,并进行比较:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
data1 = np.random.normal(0, 1, 1000)
data2 = np.random.normal(2, 1, 800)
data3 = np.random.normal(-2, 1, 1200)

# 绘制直方图
plt.hist(data1, bins=30, alpha=0.5, label='Data 1')
plt.hist(data2, bins=30, alpha=0.5, label='Data 2')
plt.hist(data3, bins=30, alpha=0.5, label='Data 3')

# 添加标签和标题
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram Comparison')

# 添加图例
plt.legend()

# 显示图表
plt.show()

在这里插入图片描述

在这个例子中,我们生成了三组随机数据data1、data2和data3。然后,我们分别使用plt.hist()函数绘制了这三组数据的直方图,并使用bins参数设置了直方图的柱子数量,alpha参数设置了柱子的透明度,label参数设置了每组数据的标签。
接下来,我们添加了x轴和y轴的标签,以及一个标题。然后,使用plt.legend()函数添加了图例,以便区分不同的数据组。
最后,我们调用plt.show()函数显示了绘制好的直方图。

3、修改直方图的颜色及边框颜色

要修改直方图的颜色和边框颜色,可以使用color参数和edgecolor参数来设置。
下面是一个示例,演示如何修改直方图的颜色和边框颜色:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
data = np.random.randn(1000)

# 绘制直方图
plt.hist(data, bins=30, color='skyblue', edgecolor='black')

# 添加标签和标题
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')

# 显示图表
plt.show()

在这里插入图片描述

在这个例子中,我们生成了随机数据data。然后,我们使用plt.hist()函数绘制了直方图,并通过color参数将柱子的颜色设置为天蓝色,通过edgecolor参数将柱子的边框颜色设置为黑色。
你可以根据需要修改color参数和edgecolor参数的值,选择适合的颜色来自定义直方图的外观。
运行代码后,你将看到绘制好的直方图,柱子的颜色为天蓝色,边框颜色为黑色。

4、六一儿童节为主题,使用直方图进行可视化

当以儿童节为主题进行可视化时,可以使用直方图展示与儿童节相关的数据。以下是一个示例,演示如何使用直方图可视化儿童节礼物的数量分布:

import matplotlib.pyplot as plt

# 儿童节礼物的数量数据
gifts = ['Dolls', 'Cars', 'Balloons', 'Candies', 'Books']
quantity = [45, 60, 30, 80, 50]

# 绘制直方图
plt.bar(gifts, quantity, color='skyblue')

# 添加标签和标题
plt.xlabel('Gifts')
plt.ylabel('Quantity')
plt.title('Children's Day Gifts Distribution')

# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们定义了儿童节礼物的种类(gifts)和每种礼物的数量(quantity)。然后,我们使用plt.bar()函数绘制了儿童节礼物的直方图,将礼物作为x轴,数量作为y轴,并使用天蓝色作为柱子的颜色。
最后,我们添加了标签和标题,以便更好地说明图表的含义。


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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。