Python分布图

Python分布图

Python分布图

简介

分布图是用来显示数据的分布情况的常用可视化工具。Python提供了多个库用于绘制各种类型的分布图,包括直方图、箱线图、核密度图等。本文将详细介绍常用的分布图及其代码示例。

背景知识

在阅读本文之前,建议读者对Python基础有一定的了解,并熟悉常用数据科学库,如NumPy、Pandas和Matplotlib

1. 直方图(Histogram)

直方图通过将数据划分为若干个区间,并统计每个区间中数据点的数量来显示数据的分布情况。直方图的横轴表示区间的范围,纵轴表示每个区间中数据点的数量。

代码示例

import numpy as np
import matplotlib.pyplot as plt

# 生成1000个随机数
data = np.random.randn(1000)

# 绘制直方图
plt.hist(data, bins=30)
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')
plt.show()
Python

2. 箱线图(Box Plot)

箱线图用于显示数据的分布情况,并可查看异常值。箱线图展示了数据的中位数、四分位数以及上下边界。

代码示例

import numpy as np
import matplotlib.pyplot as plt

# 生成三组随机数据
data1 = np.random.randn(100)
data2 = np.random.normal(loc=2, scale=1, size=100)
data3 = np.random.exponential(scale=2, size=100)

# 绘制箱线图
plt.boxplot([data1, data2, data3], labels=['Data 1', 'Data 2', 'Data 3'])
plt.ylabel('Value')
plt.title('Box Plot')
plt.show()
Python

3. 核密度图(Kernel Density Plot)

核密度图使用曲线来表示数据的分布情况,并通过计算每个数据点周围的核密度估计绘制而成。与直方图类似,核密度图也能反映数据的密度分布。

代码示例

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

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

# 通过核密度估计计算核密度函数
kde = stats.gaussian_kde(data)

# 生成一组X轴上的值
x = np.linspace(-4, 4, 100)

# 绘制核密度图
plt.plot(x, kde(x))
plt.xlabel('Value')
plt.ylabel('Density')
plt.title('Kernel Density Plot')
plt.show()
Python

4. 频率多边形图(Frequency Polygon)

频率多边形图用于展示数据的分布情况,并通过连续线段将数据点连接起来,形成一个多边形。频率多边形图可以看作是直方图的变体,但更加平滑。

代码示例

import numpy as np
import matplotlib.pyplot as plt

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

# 绘制频率多边形图
counts, bins, _ = plt.hist(data, bins=30, density=True, alpha=0.5)
plt.plot((bins[:-1] + bins[1:]) / 2, counts, '-')

plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Frequency Polygon')
plt.show()
Python

5. 散点图(Scatter Plot)

散点图用于展示两个变量之间的关系,并以点的位置表示数据的分布情况。散点图常用于寻找变量之间的相关性。

代码示例

import numpy as np
import matplotlib.pyplot as plt

# 生成两组随机数据
x = np.random.randn(100)
y = np.random.randn(100)

# 绘制散点图
plt.scatter(x, y)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Plot')
plt.show()
Python

总结

本文介绍了常用的Python分布图,包括直方图、箱线图、核密度图、频率多边形图和散点图,并提供了相应的代码示例。这些分布图能够帮助我们更直观地理解数据的分布情况,从而做出更准确的数据分析和决策。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册