• 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

    运行结果

  • 相关阅读:
    蓝桥杯 算法训练 ALGO-57 删除多余括号
    蓝桥杯 算法训练 ALGO-50 数组查找及替换
    蓝桥杯 算法训练 ALGO-60 矩阵乘法
    求最大公约数和最小公倍数的几种方法
    南阳OJ 1170 最大的数
    蓝桥杯 基础练习 BASIC-30 阶乘计算
    蓝桥杯 算法训练 ALGO-108 最大的体积
    蓝桥杯 算法训练 ALGO-114 黑白无常
    蓝桥杯 算法训练 ALGO-93 反置数
    蓝桥杯 算法训练 ALGO-21 装箱问题
  • 原文地址:https://www.cnblogs.com/hyz1900457346/p/11962826.html
Copyright © 2020-2023  润新知