数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关。
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
运行结果