人工智能学习笔记 - 初级篇Ⅱ - 图形可视化 - 第1节 - 定义图表类型 - 柱状图、线形图和堆积柱状图

Matplotlib 是一个 Python 2D 绘图库,可以生成发布质量级别的各种硬拷贝格式和交互式环境下的图形。在本教程中,我们将介绍如何使用 Matplotlib 绘制柱状图、线形图和堆积柱状图。这些图表类型是数据可视化中最常用的图表,适合初学者学习和掌握。

Matplotlib 绘图基础知识

在开始绘图之前,我们需要了解一些 Matplotlib 的基础知识。首先,确保你已经安装了 Matplotlib。如果没有安装,可以通过以下命令安装:

pip install matplotlib

导入 Matplotlib 的 pyplot 模块,通常我们将其重命名为 plt:

import matplotlib.pyplot as plt

Matplotlib 中的基本图标包括以下元素:

x 轴和 y 轴:水平和垂直的轴线。
x 轴和 y 轴刻度:刻度标示坐标轴的分隔,包括最小刻度和最大刻度。
x 轴和 y 轴刻度标签:表示特定坐标轴的值。
绘图区域:实际绘图的区域。
plot() 可以只传入 y 轴的值,plot() 为 x 轴提供默认值。

plt.plot([1, 2, 3, 4, 3, 2, 3, 2, 1, 3, 2, 1])
plt.show()

在这里插入图片描述
plot() 可以同时传入 x 轴的值和 y 轴的值。

plt.plot([4, 3, 2, 1], [1, 2, 3, 4]);

在这里插入图片描述

Matplotlib 绘制柱状图、线性图和堆积柱状图

绘制柱状图

柱状图是表示数据分布的一种图表类型,非常适合比较多个项目之间的数值大小。

# 数据
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 5]

# 绘制柱状图
plt.bar(categories, values)
plt.title('bar chart')
plt.xlabel('category')
plt.ylabel('vlaue')
plt.show()

在这里插入图片描述

绘制线形图

线形图用于展示数据随时间或有序分类变化的趋势。

# 数据
x = np.arange(4)
y = np.array([10, 20, 15, 5])

# 绘制线形图
plt.plot(x, y, marker='o')
plt.title('line plot')
plt.xlabel('time')
plt.ylabel('vlaue')
plt.grid(True)
plt.show()

在这里插入图片描述

绘制堆积柱状图

堆积柱状图用于展示各部分占总体的比例关系,以及总体随分类的变化。

# 数据
N = 4
menMeans = (20, 35, 30, 35)
womenMeans = (25, 32, 34, 20)
ind = np.arange(N)

# 绘制堆积柱状图
p1 = plt.bar(ind, menMeans)
p2 = plt.bar(ind, womenMeans, bottom=menMeans)

plt.ylabel('Scores')
plt.title('Scores by group and gender')
plt.xticks(ind, ('G1', 'G2', 'G3', 'G4'))
plt.yticks(np.arange(0, 81, 10))
plt.legend((p1[0], p2[0]), ('Men', 'Women'))
plt.show()

在这里插入图片描述

子图

Matplotlib 库在一个图形窗口中创建了多个不同类型的图表,每个图表展示在图形窗口的不同部分。通过将图形窗口分割成 x行 y 列的子图区域来实现的,每个子图展示一种不同的图表类型。

x = [5,4,3,2,1]
y = [1,2,3,4,5]

plt.figure() # 创建一幅图

plt.subplot(231) # 将图分隔为 2 x 3 格,选中第 1 格
plt.plot(x, y) # 绘制直线图

plt.subplot(232) # 选中第 2 格
plt.barh(x, y) # 绘制水平的直方图

plt.subplot(233) # 选中第 3 格
plt.bar(x, y) # 绘制直方图

plt.subplot(234) # 选中第 4 格
plt.bar(x, y) # 绘制直方图
y1 = [9,3,8,7,1] # 用新的数据绘制直方图
plt.bar(x, y1, bottom=y, color = 'r')

plt.subplot(235) # 选中第 5 格
plt.boxplot(x) # 绘制箱型图

plt.subplot(236) # 选中第 6 格
plt.scatter(x,y) # 绘制散点图
plt.show()

调用 figure() 方法,就创建出一个新的图表。
调用 subplot(231) 方法把图表分割成 2×3 的网格。也可以用 subplot(3,2,1) 这种形式来调用,其中第一个参数是行数,第二个参数是列数,第三个参数表示图形的标号。
接着用几个简单的命令创建垂直柱状图 (bar()) 和水平柱状图 (barh()) 。对于堆叠柱状图,我们需要把两个柱状图方法调用连在一起。通过设置参数 bottom=y,把第二个柱状图和前一个连接起来形成堆叠柱状图。
最后创建了一个散点图让大家对散点的数据集合有所了解。
在这里插入图片描述

工作原理

Matplotlib 通过将数据映射到图形对象上,然后在画布上渲染这些对象来工作。在绘制图表时,我们首先创建一个图形(figure),然后在图形上添加一个或多个绘图区域(axes),最后在绘图区域上绘制图表。

补充说明

图形(Figure):整个图像,可以包含一个或多个绘图区域。
绘图区域(Axes):图形中的一个区域,用于绘制图表。
标签(Label):用于描述图表的信息,如标题、坐标轴标签等。
通过学习这些基础知识和示例,你可以开始使用 Matplotlib 创建自己的数据可视化图表了。随着实践的增加,你将能够掌握更多高级功能,创建更复杂和美观的图表。

最后

欢迎关注我的微信公众号, 一起交流学习!!!
在这里插入图片描述

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

御风之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值