python散點圖實例之隨機漫步
隨機漫步是這樣行走得到的途徑:每次行走都是完全隨機的,沒有明確的方向,結(jié)果是由一系列隨機決策決定的。
random_walk.py
#random_walk.py
from random import choice
# -*- coding: utf-8 -*-
class RandomWalk():
#一個生成隨機漫步數(shù)據(jù)的類
def __init__(self,num_points=5000):
self.num_points=num_points
self.x_values=[0]
self.y_values=[0]
def fill_walk(self):
#計算隨機漫步包含的所有點
while len(self.x_values)<self.num_points:
#決定前進(jìn)方向以及沿這個方向前進(jìn)的距離
x_direction=choice([-1,1])
x_distance=choice([0,1,2,3,4])
x_step=x_direction*x_distance
y_direction=choice([-1,1])
y_distance=choice([0,1,2,3,4])
y_step=y_direction*y_distance
#拒絕原地踏步
if x_step==0 and y_step==0:
continue
#計算下一個點的x和y值
next_x=self.x_values[-1]+x_step
next_y=self.y_values[-1]+y_step
self.x_values.append(next_x)
self.y_values.append(next_y)
rw.py
#rw.py
# coding=gbk
import matplotlib.pyplot as plt
from random_walk import RandomWalk
while True:
rw=RandomWalk()
rw.fill_walk()
#設(shè)置繪圖窗口的尺寸
plt.figure(dpi=128,figsize=(10,6))
point_numbers=list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,s=15)
#突出起點和終點
plt.scatter(0,0,c='green',s=100)
plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',s=100)
#隱藏坐標(biāo)軸
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
plt.show()
keep_running=input("Make another walk?(y/n):")
if keep_running=='n':
break
效果圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python3+PyQt5 創(chuàng)建多線程網(wǎng)絡(luò)應(yīng)用-TCP客戶端和TCP服務(wù)器實例
今天小編就為大家分享一篇python3+PyQt5 創(chuàng)建多線程網(wǎng)絡(luò)應(yīng)用-TCP客戶端和TCP服務(wù)器實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Pyinstaller打包Scrapy項目的實現(xiàn)步驟
這篇文章主要介紹了Pyinstaller打包Scrapy項目的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
python3 tkinter實現(xiàn)添加圖片和文本
這篇文章主要為大家詳細(xì)介紹了python3 tkinter實現(xiàn)添加圖片和文本,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11
詳解Tensorflow數(shù)據(jù)讀取有三種方式(next_batch)
本篇文章主要介紹了Tensorflow數(shù)據(jù)讀取有三種方式(next_batch),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從任意長度的可迭代對象中分解元素操作示例
這篇文章主要介紹了Python 數(shù)據(jù)結(jié)構(gòu)與算法 從任意長度的可迭代象中分解元素操作,結(jié)合實例形式分析了Python使用*表達(dá)式針對可迭代對象的分解操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-02-02
淺析python 中__name__ = ''__main__'' 的作用
這篇文章主要介紹了python 中__name__ = '__main__' 的作用,對于初學(xué)者來說很有幫助,需要的朋友可以參考下2014-07-07

