python数据可视化(一)——绘制随机漫步图

数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关。

python有一系列的可视化和分析工具,最流行的工具之一是matplotlib,它是一个数学绘图库。

实现绘制随机漫步图

  利用random库来获取随机数,用matplotlib进行绘图

1.创建一个类,用于生成两个储存随机漫步经过的每个点的x,y坐标

代码如下:

from random import choice
class RandomWalk():
    def __init__(self,numpoints=5000):
        self.numpoints=numpoints    #规定漫步次数,默认值为5000
        self.x_values=[0]   #x轴
        self.y_values=[0]   #y轴

    def get_step(self):
        direction=choice([1,-1])        #随机选择方向
        distance=choice([0,1,2,3,4])    #漫步长度
        step=direction*distance
        return step

    def fill_walk(self):  #生成两个长度为numpoint的列表
        while len(self.x_values) < self.numpoints:
            x_step=self.get_step()
            y_step=self.get_step()

            if x_step==0 and y_step==0:     #防止原地不动
                continue

            x_next=self.x_values[-1]+x_step     #点在x轴上的位移
            y_next=self.y_values[-1]+y_step     #点在y轴上的位移

            self.x_values.append(x_next)  #下一个点的x轴值
            self.y_values.append(y_next)  #下一个点的y轴值

实现绘制的函数如下

import matplotlib.pyplot as plt
from RandomWalk import RandomWalk

while True:
    rw=RandomWalk(10000)    #设置漫步次数为10000
    rw.fill_walk()      #生成两个储存x,y轴的值的列表
    plt.figure(figsize=(15,8))  #设置窗口大小
    plt.scatter(rw.x_values,rw.y_values,c=rw.y_values,s=1)  #绘制散点图
    # plt.plot(rw.x_values,rw.y_values,linewidth=3) #绘制折线图
    plt.show()

    flag=input("是否继续绘制(y/n):")
    if flag=='n':
        break

运行结果

扫描二维码关注公众号,回复: 8027906 查看本文章

猜你喜欢

转载自www.cnblogs.com/hyz1900457346/p/11962826.html