[Data Visualization] 使用Python Matplotlib库实现随机漫步散点图的绘制
一、内容实现概述
本文主要讲述使用Python的Matplotlib绘图库绘制一个随机漫步的散点图
Matplot绘制过程如下:
- 导入所需的random(生成随机数)、matplotlib.pyplot库
- 使用random内置库生成绘制散点图的随机漫步数据(即模拟一只蚂蚁在二维直角坐标系中随意爬行的场景)
- 创建图形和子图形对象
- 调用子图形的scatter()方法并传入随机漫步数据,进行绘制
- 添加相关说明和样式以美观图形
- 调用库的show()方法,进行展示
注:
- 在Python中使用(导入)Matplotlib绘图库时,需要先安装,本实现使用的是pip命令安装。pip install matlplotlib
- Matplotlib官方教程
二、代码实现
注:源代码地址
# 主题:生成随机漫步数据,并将其绘制成散点图 import random as rd import matplotlib.pyplot as plt # 第一步:生成随机漫步数据 x_axis_values = [0] y_axis_values = [0] walk_nums = 5000 ## 增加点数 walk_nums = 50000 while len(x_axis_values) < walk_nums: x_direction = rd.choice([-1, 1]) y_direction = rd.choice([-1, 1]) x_distance = rd.randrange(5) y_distance = rd.randrange(5) x_point = x_direction * x_distance y_point = y_direction * y_distance if x_point == 0 and y_point == 0: continue x_position = x_axis_values[-1] + x_point y_position = y_axis_values[-1] + y_point x_axis_values.append(x_position) y_axis_values.append(y_position) # 第二步:绘制散点图,并设置样式 plt.style.use("classic") ## 调整图表尺寸、设置分辨率以适合屏幕 fig, ax = plt.subplots(figsize=(16, 9), dpi=128) ax.scatter(x_axis_values, y_axis_values, # 给点着色 c=range(walk_nums), cmap=plt.cm.Blues, edgecolors=None, s=1) ## 突出起点和终点 ax.scatter(0, 0, c='green', edgecolors=None, s=100) ax.scatter(x_axis_values[-1], y_axis_values[-1], c='red', edgecolors=None, s=100) ## 隐藏坐标轴 ax.get_xaxis().set_visible(False) ax.get_yaxis().set_visible(False) plt.show()
三、运行结果