用 Python 描绘数据之美:绘制各种图形378


Python 因其易用性和 versatility 而成为数据分析和 visualization 的理想选择。使用 matplotlib 和 seaborn 等强大的库,你可以轻松地创建各种图表和图形,展示你的数据洞察。本文将指导你使用 Python 绘制各种图形,从简单的条形图到复杂的散点图和热力图。

1. 直方图

直方图显示给定数据集中的值的分布。要使用 Python 创建直方图,请使用 matplotlib 的 hist() 函数。该函数需要一个数据数组作为参数,并可选择指定 bin 的数量。以下代码演示了如何绘制正态分布数据集的直方图:import as plt
import numpy as np
data = (size=1000) # 生成正态分布数据
(data, bins=50)
('值')
('频率')
('正态分布数据集的直方图')
()

2. 条形图

条形图用于比较不同类别的数据。要使用 Python 创建条形图,请使用 matplotlib 的 bar() 函数。该函数需要一个数据数组作为参数,并可选择指定类别标签。以下代码演示了如何绘制不同水果销售的条形图:import as plt
fruits = ['苹果', '香蕉', '橙子']
sales = [100, 150, 200]
(fruits, sales, color='skyblue')
('水果')
('销售量')
('水果销售条形图')
()

3. 折线图

折线图展示数据随时间或其他变量的变化。要使用 Python 创建折线图,请使用 matplotlib 的 plot() 函数。该函数需要两个数据数组作为参数,一个表示 x 坐标,另一个表示 y 坐标。以下代码演示了如何绘制时间序列数据的折线图:import as plt
time = (0, 10, 0.1)
data = (time)
(time, data, color='red')
('时间')
('正弦值')
('时间序列折线图')
()

4. 散点图

散点图展示两个变量之间的关系。要使用 Python 创建散点图,请使用 matplotlib 的 scatter() 函数。该函数需要两个数据数组作为参数,一个表示 x 坐标,另一个表示 y 坐标。以下代码演示了如何绘制两个数据集之间的散点图:import as plt
x = (size=100)
y = (size=100)
(x, y, color='green')
('x 坐标')
('y 坐标')
('散点图')
()

5. 热力图

heatmap 展示数据中值的分布,通常用于展示矩阵或表格数据。要使用 Python 创建热力图,请使用 seaborn 的 heatmap() 函数。该函数需要一个数据矩阵作为参数,并可选择指定颜色图和注释。以下代码演示了如何绘制numpy数组的热力图:import seaborn as sns
import numpy as np
data = (10, size=(10, 10))
(data, annot=True, cmap='YlGnBu') # YlGnBu 是一个颜色图
('列')
('行')
('热力图')
()

6. 饼图

饼图显示不同类别的数据所占的比例。要使用 Python 创建饼图,请使用 matplotlib 的 pie() 函数。该函数需要一个数据数组作为参数,并可选择指定标签和颜色。以下代码演示了如何绘制不同水果销售的饼图:import as plt
fruits = ['苹果', '香蕉', '橙子']
sales = [100, 150, 200]
(sales, labels=fruits, autopct='%1.1f%%') # autopct 指定百分比格式
('水果销售饼图')
()

7. 雷达图

雷达图展示多维数据,其中每个数据点沿不同轴绘制。要使用 Python 创建雷达图,请使用 matplotlib 的 radar_chart() 函数。该函数需要一个数据矩阵作为参数,并将数据点与中心点连接起来形成一个多边形。以下代码演示了如何绘制三个数据集的雷达图:import as plt
data = [
[0.2, 0.5, 0.7, 1.0, 0.9],
[0.3, 0.8, 0.6, 0.9, 0.7],
[0.4, 0.7, 0.8, 0.6, 0.8],
]
plt.radar_chart(data, labels=['指标 1', '指标 2', '指标 3', '指标 4', '指标 5'])
('雷达图')
()

8. 箱线图

箱线图展示数据分布的统计特征,如中位数、四分位数和异常值。要使用 Python 创建箱线图,请使用 seaborn 的 boxplot() 函数。该函数需要一个数据数组作为参数,并将数据点分为四分位数并绘制箱线。以下代码演示了如何绘制不同类别的数据的箱线图:import seaborn as sns
data = {'类别 1': [10, 15, 20, 25, 30],
'类别 2': [20, 25, 30, 35, 40]}
(data=data)
('箱线图')
()

9. 小提琴图

小提琴图类似于箱线图,但提供了更多有关数据分布的信息。要使用 Python 创建小提琴图,请使用 seaborn 的 violinplot() 函数。该函数需要一个数据数组作为参数,并将数据点绘制为小提琴形状,显示密度估计。以下代码演示了如何绘制不同类别的数据的小提琴图:import seaborn as sns
data = {'类别 1': [10, 15, 20, 25, 30],
'类别 2': [20, 25, 30, 35, 40]}
(data=data)
('小提琴图')
()

10. 簇状条形图

簇状条形图用于比较多组数据的多个类别。要使用 Python 创建簇状条形图,请使用 seaborn 的 clustermap() 函数。该函数需要一个数据矩阵作为参数,并将数据点分组并以簇状方式绘制条形。以下代码演示了如何绘制不同类别的数据的簇状条形图:import seaborn as sns
data = {'类别 1': [10, 15, 20],
'类别 2': [20, 25, 30],
'类别 3': [30, 35, 40]}
(data)
('簇状条形图')
()

11. 热图

热图是另一种展示矩阵数据中值分布的图形。与热力图类似,热图使用颜色来表示值。要使用 Python 创建热图,请使用 matplotlib 的 imshow() 函数。该函数需要一个数据矩阵作为参数,并将值映射到颜色图。以下代码演示了如何绘制numpy数组的热图:import as plt
import numpy as np
data = (10, size=(10, 10))
(data, cmap='hot') # hot 是一个颜色图
()
('热图')
()

12. 树状图

树状图用于可视化分层数据。要使用 Python 创建树状图,请使用 scipy 的 dendrogram() 函数。该函数需要一个距离矩阵作为参数,并将数据点分组并绘制成树状结构。以下代码演示

2025-02-07


上一篇:Scratch编程与Python编程的联姻

下一篇:Python 编程基础:深入浅出入门指南