1. 数据散点图
散点图是展示两组数据之间关系的常用工具。NumPy与Matplotlib结合,可以轻松绘制散点图。
1.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
x = np.random.rand(50)
y = np.random.rand(50)
# 绘制散点图
plt.scatter(x, y)
plt.show()
1.2 应用场景
散点图常用于展示两个连续变量之间的关系,例如身高和体重、温度和降雨量等。
2. 直方图
直方图用于展示数据分布情况,是统计学中常用的图形。
2.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
data = np.random.randn(1000)
# 绘制直方图
plt.hist(data, bins=30)
plt.show()
2.2 应用场景
直方图适用于展示数据分布,如人口年龄分布、考试分数分布等。
3. 折线图
折线图用于展示数据随时间或其他变量变化的趋势。
3.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
x = np.arange(10)
y = np.sin(x)
# 绘制折线图
plt.plot(x, y)
plt.show()
3.2 应用场景
折线图适用于展示数据随时间变化的趋势,如股票价格、温度变化等。
4. 饼图
饼图用于展示各部分占总体的比例。
4.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
labels = 'A', 'B', 'C', 'D'
sizes = [15, 30, 45, 10]
# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.axis('equal') # 保持饼图为圆形
plt.show()
4.2 应用场景
饼图适用于展示各部分占总体的比例,如市场份额、人口比例等。
5. 3D散点图
3D散点图可以展示三维空间中的数据关系。
5.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 创建数据
x = np.random.rand(50)
y = np.random.rand(50)
z = np.random.rand(50)
# 创建3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制3D散点图
ax.scatter(x, y, z)
plt.show()
5.2 应用场景
3D散点图适用于展示三维空间中的数据关系,如空间位置、三维坐标等。
6. 3D曲面图
3D曲面图可以展示三维空间中的数据变化。
6.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 创建数据
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))
# 创建3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制3D曲面图
ax.plot_surface(x, y, z, cmap='viridis')
plt.show()
6.2 应用场景
3D曲面图适用于展示三维空间中的数据变化,如地形图、热力图等。
7. 3D条形图
3D条形图可以展示三维空间中的数据对比。
7.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 创建数据
x = np.arange(5)
y = np.arange(5)
x, y = np.meshgrid(x, y)
z = x + y
# 创建3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制3D条形图
ax.bar3d(x, y, z, 1, 1, 1)
plt.show()
7.2 应用场景
3D条形图适用于展示三维空间中的数据对比,如产品销量、建筑高度等。
8. 时间序列图
时间序列图用于展示数据随时间变化的趋势。
8.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
x = np.arange(100)
y = np.sin(x)
# 绘制时间序列图
plt.plot(x, y, 'r--')
plt.title('Time Series')
plt.xlabel('Time')
plt.ylabel('Value')
plt.show()
8.2 应用场景
时间序列图适用于展示数据随时间变化的趋势,如股票价格、气温变化等。
9. 热力图
热力图用于展示数据矩阵的分布情况。
9.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
data = np.random.rand(10, 10)
# 绘制热力图
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.colorbar()
plt.show()
9.2 应用场景
热力图适用于展示数据矩阵的分布情况,如气温分布、股票交易数据等。
10. 雷达图
雷达图用于展示多个变量之间的关系。
10.1 示例代码
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
angles = np.linspace(0, 2 * np.pi, 4, endpoint=False)
values = np.random.rand(4)
# 绘制雷达图
fig, ax = plt.subplots()
ax.plot(angles, values, 'o-', markerfacecolor='r', markersize=10, markeredgewidth=1.5)
ax.fill(angles, values, alpha=0.25, facecolor='r')
ax.set_xticks(angles[:-1])
ax.set_xticklabels(['A', 'B', 'C', 'D'])
plt.show()
10.2 应用场景
雷达图适用于展示多个变量之间的关系,如产品质量、员工绩效等。
