随机漫步——散点图

来源:互联网 发布:手机淘宝删除聊天记录 编辑:程序博客网 时间:2024/04/19 09:33



根据有限制的随机指定点数 画出渐变散点图



---Python语言实现

---matplotlib第三方库


random_walk.py

from random import choiceclass RandomWalk():"""docstring for RandomWalk"""def __init__(self,num_points=10000):self.num_points = num_pointsself.x_values = [0]self.y_values = [0]def fill_walk(self):while len(self.x_values) < self.num_points:x_direction = choice([1,-1])x_distance = choice(list(range(5)))x_step = x_direction*x_distancey_direction = choice([1,-1])y_distance = choice(list(range(5)))y_step = y_direction*y_distanceif x_step == 0 and y_step == 0:continuenext_x = self.x_values[-1]+x_stepnext_y = self.y_values[-1]+y_stepself.x_values.append(next_x)self.y_values.append(next_y)


rw_visiual.py

import matplotlib.pyplot as pltfrom random_walk import RandomWalk# while True:rw = RandomWalk(50000)rw.fill_walk()point_numbers = list(range(rw.num_points))plt.figure(figsize=(23,12))plt.scatter(rw.x_values,rw.y_values,s=10,c=point_numbers,cmap=plt.cm.winter,edgecolor='none')plt.scatter(0,0,s=20,c='red',edgecolor='none')plt.scatter(rw.x_values[-1],rw.y_values[-1],s=20,c='red',edgecolor='none')plt.axes().get_xaxis().set_visible(False)plt.axes().get_yaxis().set_visible(False)plt.show()

0 0
原创粉丝点击