📅  最后修改于: 2023-12-03 15:23:25.940000             🧑  作者: Mango
使用 Matplotlib 库可以很方便地进行数据可视化操作。本文将介绍如何利用 Matplotlib 库进行插入排序算法的 3D 可视化。
本项目需要安装以下环境:
import matplotlib.pyplot as plt
import random
insertion_sort()
:def insertion_sort(arr):
for i in range(len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
generate_data()
:def generate_data(data_len):
data = []
for i in range(data_len):
data.append(random.randint(1, 100))
return data
scatter_3d()
:def scatter_3d(x, y, z):
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c=z, cmap='Blues')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
sort_and_visualize()
:def sort_and_visualize(data_len):
data = generate_data(data_len)
x = list(range(1, data_len+1))
y = data
z = [0] * data_len
scatter_3d(x, y, z) # 初始状态
insertion_sort(data)
for i in range(data_len):
z[i] = data[i]
scatter_3d(x, y, z) # 排序过程
sort_and_visualize()
函数进行排序和可视化:sort_and_visualize(10)
以下是插入排序的 3D 散点图可视化效果演示:
本文介绍了如何利用 Matplotlib 库进行插入排序算法的 3D 可视化,并演示了效果。希望对你有所帮助。