python多类直方图代码

为母亲节准备一份独特的礼物吧!这篇文章将教你如何使用Python创建多类直方图,来展示你母亲生命中的各个方面。

首先,让我们来了解一下直方图。直方图是一种用于显示数据分布情况的图表,它将数据分成若干个分组并绘制在纵轴上,横轴则表示各个分组。直方图的高度表示各个分组中数据所占的比例或频数。直方图适用于大量数据的可视化,可以有助于我们更好地理解数据的分布和特征。

接下来,我们将使用Python中的matplotlib库来创建多类直方图。首先,需要确保你已安装matplotlib库,如果没有安装,可以使用以下命令进行安装:

```

pip install matplotlib

```

安装完成后,我们可以开始创建我们的多类直方图了。以下是一个简单的示例,展示了6个不同的类别及它们的频数:

```

import matplotlib.pyplot as plt

# 定义数据

data = {"category1": 20, "category2": 15, "category3": 25, "category4": 10, "category5": 30, "category6": 5}

# 绘制直方图

plt.bar(range(len(data)), list(data.values()), align='center')

plt.xticks(range(len(data)), list(data.keys()))

# 添加标签和标题

plt.xlabel('Categories')

plt.ylabel('Frequency')

plt.title('Multiple Histograms')

plt.show()

```

以上代码将创建一个包含6个不同类别的直方图,并使用各自的频数进行填充,代码还为图表添加了标签和标题。接下来,让我们看一下这个图表的结果:

![Multiple Histograms](https://i.imgur.com/wpXZEew.png)

可以看到,每个类别的频数都已在图表中通过不同的颜色进行表示。然而,这个示例图并不是完美的,因为每一类别都采用了不同的颜色,这不仅难以区分,而且不便于进一步分析数据。因此,为了更好的可视化效果,我们需要使用堆叠直方图。

一个堆叠直方图是将各个类别的频数相加,将这些总数作为每个直方条的高度,并使用不同颜色来表示各个类别。这使得直方图更加易于分析,可以比较不同类别之间的相对比例。

下面的代码展示了如何使用Python创建堆叠直方图:

```

import matplotlib.pyplot as plt

# 定义数据

data = {

"category1": [10, 15, 20],

"category2": [5, 8, 12],

"category3": [3, 6, 8],

"category4": [12, 14, 16],

"category5": [17, 20, 23],

"category6": [9, 12, 15]

}

# 绘制堆叠直方图

plt.style.use('ggplot')

plt.figure(figsize=(8, 6))

plt.hist(data.values(), bins=3, label=data.keys(), stacked=True)

# 添加标签和标题

plt.xlabel('Ranges')

plt.ylabel('Frequency')

plt.title('Stacked Histograms')

# 添加图例

plt.legend()

plt.show()

```

以上代码创建一个包含6个类别的堆叠直方图,每个类别均包含3个数据点,每个数据点的值是不同的。

运行代码,我们可以看到堆叠直方图的效果:

![Stacked Histograms](https://i.imgur.com/F5bL7jx.png)

可以看到,直方图中的每个类别都使用不同的颜色来表示,而每个颜色占用的高度表示该类别的频数。我们可以通过比较各个颜色之间的高低差异,更好地了解数据的分布和特征。

将以上两个示例结合起来,我们可以创造出一个真正的多类直方图。下面的代码将使用母亲节为主题,展示不同母亲的年龄、兴趣和爱好等方面的数据:

```

import matplotlib.pyplot as plt

# 母亲年龄数据

age_data = {

"30-39": 20,

"40-49": 35,

"50-59": 45,

"60-69": 30,

"70-79": 15

}

# 母亲兴趣数据

interest_data = {

"reading": 35,

"cooking": 20,

"travelling": 25,

"gardening": 10,

"shopping": 15

}

# 母亲爱好数据

hobby_data = {

"painting": 15,

"knitting": 10,

"photography": 20,

"dancing": 30,

"listening to music": 25

}

# 绘制多类直方图

plt.style.use('ggplot')

plt.figure(figsize=(16, 6))

# 绘制年龄直方图

plt.subplot(1, 3, 1)

plt.bar(range(len(age_data)), list(age_data.values()), align='center')

plt.xticks(range(len(age_data)), list(age_data.keys()))

plt.xlabel('Age Groups')

plt.ylabel('Frequency')

plt.title('Mother\'s Age')

# 绘制兴趣直方图

plt.subplot(1, 3, 2)

plt.hist(interest_data.values(), bins=5, label=interest_data.keys(), stacked=True)

plt.xlabel('Interest Ranges')

plt.ylabel('Frequency')

plt.title('Mother\'s Interests')

plt.legend()

# 绘制爱好直方图

plt.subplot(1, 3, 3)

plt.hist(hobby_data.values(), bins=5, label=hobby_data.keys(), stacked=True)

plt.xlabel('Hobby Ranges')

plt.ylabel('Frequency')

plt.title('Mother\'s Hobbies')

plt.legend()

plt.show()

```

以上代码将创建一个包含3个不同的子图的多类直方图,分别展示了母亲的年龄、兴趣和爱好等方面的数据。

运行代码,我们可以看到以下结果:

![Mother's Histograms](https://i.imgur.com/kQzHMvl.png)

这个多类直方图包含了各种母亲的数据,每个母亲的各个方面通过颜色区分。例如,年龄低于40岁的母亲在图表中以绿色显示;对于兴趣和爱好方面的数据,每个子图都采用了堆叠直方图来展示。我们可以通过比较各个颜色之间的高低差异,更好地了解不同母亲之间的差异和共性。

总结一下,本文教你如何使用Python创建多类直方图。通过使用直方图,可以更好地了解数据分布情况,更好地展示母亲的各个方面数据,例如年龄、兴趣和爱好等。在送给母亲一份特殊礼物的时候,使用自己的数据和代码会让礼物更具有意义。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(43) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部