Python数据可视化:直方图、柱形图、箱线图、饼图与散点图实战

Nora
Nora
发布时间:2026-10-15 | 5人浏览过
原创

本文详细介绍Python中五种核心数据可视化图表的实现方法。通过Matplotlib库,演示如何绘制直方图以展示频率分布,使用柱形图进行属性间比较,利用箱线图基于四分位数分析数据离散程度,通过饼图呈现类别占比,以及使用散点图探索变量间的相关性与异常值。

数据可视化是指将数据以图形化的形式进行展示。它通过简洁直观的格式对大量数据进行汇总和呈现,从而帮助人们理解数据背后的价值,并实现信息清晰、高效的传达。

基于上述给定的数据集,我们将为其绘制多种不同类型的图表。

以下是用于分析和呈现数据的几种主要图表类型。

1. 直方图

直方图用于表示特定现象在特定数值范围内的发生频率,这些现象通常按连续且固定的间隔进行排列。

在下面的代码中绘制直方图Age, Income, Sales。因此,输出中的这些图显示了每个属性的每个唯一值的频率。

# 导入 pandas 和 matplotlib
import pandas as pd
import matplotlib.pyplot as plt

# 创建上面给出的表的二维数组
data = [['E001', 'M', 34, 123, 'Normal', 350],
		['E002', 'F', 40, 114, 'Overweight', 450],
		['E003', 'F', 37, 135, 'Obesity', 169],
		['E004', 'M', 30, 139, 'Underweight', 189],
		['E005', 'F', 44, 117, 'Underweight', 183],
		['E006', 'M', 36, 121, 'Normal', 80],
		['E007', 'M', 32, 133, 'Obesity', 166],
		['E008', 'F', 26, 140, 'Normal', 120],
		['E009', 'M', 32, 133, 'Normal', 75],
		['E010', 'M', 36, 133, 'Underweight', 40] ]

# 使用上述数据数组创建的数据框
df = pd.DataFrame(data, columns = ['EMPID', 'Gender',
									'Age', 'Sales',
									'BMI', 'Income'] )

# 为数值数据创建直方图
df.hist()

# show plot
plt.show()

输出:

2. 柱形图

柱形图主要用于展示不同属性之间的比较,或者用于显示项目随时间变化的对比情况。

# 此处使用之前代码的数据框

# 绘制数值条形图,将显示所有 3 个年龄、收入、销售额之间的比较
df.plot.bar()

# 在 2 个属性之间绘制
plt.bar(df['Age'], df['Sales'])
plt.xlabel("Age")
plt.ylabel("Sales")
plt.show()

输出:

3. 箱线图

箱线图是基于 minimum, first quartile, median, third quartile, and maximum绘制的。术语“箱线图”源于图形外观类似一个矩形,且有线条从顶部和底部延伸出来。由于这些延伸线,这种类型的图表有时也被称为盒须图。

# 对于数据框的每个数字属性
df.plot.box()

# 单个属性箱线图
plt.boxplot(df['Income'])
plt.show()

输出:

4. 饼图

饼图用于展示静态数值以及各类别如何构成整体的一部分。饼图以百分比形式表示数值,所有扇区的总和必须等于 100%。

plt.pie(df['Age'], labels = {"A", "B", "C",
							"D", "E", "F",
							"G", "H", "I", "J"},
							
autopct ='% 1.1f %%', shadow = True)
plt.show()

plt.pie(df['Income'], labels = {"A", "B", "C",
								"D", "E", "F",
								"G", "H", "I", "J"},
								
autopct ='% 1.1f %%', shadow = True)
plt.show()

plt.pie(df['Sales'], labels = {"A", "B", "C",
							"D", "E", "F",
							"G", "H", "I", "J"},
autopct ='% 1.1f %%', shadow = True)
plt.show()

输出:

5. 散点图

散点图展示了两个不同变量之间的关系,有助于揭示数据的分布趋势。当数据点较多且希望突出数据集中的相似性时,应使用散点图。这在查找异常值和了解数据分布方面非常有用。

# 收入和年龄之间的散点图
plt.scatter(df['income'], df['age'])
plt.show()

# 收入和销售额之间的散点图
plt.scatter(df['income'], df['sales'])
plt.show()

# 销售额和年龄之间的散点图
plt.scatter(df['sales'], df['age'])
plt.show()

输出:

以上就是Python中不同图表的数据可视化的实现的详细内容,更多关于Python图表数据可视化的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表