python散點(diǎn)圖實(shí)例之隨機(jī)漫步
隨機(jī)漫步是這樣行走得到的途徑:每次行走都是完全隨機(jī)的,沒(méi)有明確的方向,結(jié)果是由一系列隨機(jī)決策決定的。
random_walk.py
#random_walk.py from random import choice # -*- coding: utf-8 -*- class RandomWalk(): #一個(gè)生成隨機(jī)漫步數(shù)據(jù)的類(lèi) def __init__(self,num_points=5000): self.num_points=num_points self.x_values=[0] self.y_values=[0] def fill_walk(self): #計(jì)算隨機(jī)漫步包含的所有點(diǎn) while len(self.x_values)<self.num_points: #決定前進(jìn)方向以及沿這個(gè)方向前進(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 #計(jì)算下一個(gè)點(diǎn)的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) #突出起點(diǎn)和終點(diǎn) 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
效果圖:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)隨機(jī)漫步功能
- python實(shí)現(xiàn)隨機(jī)漫步方法和原理
- python實(shí)現(xiàn)隨機(jī)漫步算法
- Python使用matplotlib繪制隨機(jī)漫步圖
- python使用matplotlib庫(kù)生成隨機(jī)漫步圖
- Python超詳細(xì)分步解析隨機(jī)漫步
- python3.5繪制隨機(jī)漫步圖
- Python3隨機(jī)漫步生成數(shù)據(jù)并繪制
- Python?numpy之線(xiàn)性代數(shù)與隨機(jī)漫步
- Python實(shí)現(xiàn)隨機(jī)漫步的詳細(xì)過(guò)程
相關(guān)文章
python 實(shí)現(xiàn)的車(chē)牌識(shí)別項(xiàng)目
這篇文章主要介紹了python 實(shí)現(xiàn)的車(chē)牌識(shí)別項(xiàng)目,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01基于Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的注冊(cè)機(jī)并生成卡密
這篇文章主要為大家詳細(xì)介紹了如何使用Python編寫(xiě)一個(gè)簡(jiǎn)單而強(qiáng)大的注冊(cè)機(jī),生成卡密來(lái)實(shí)現(xiàn)用戶(hù)注冊(cè),從而輕松登錄應(yīng)用程序,有需要的小伙伴快可以參考下2023-12-12Python實(shí)現(xiàn)批量向PDF文件添加中文水印
本文將通過(guò)設(shè)置批量PDF文件所在的路徑及需要添加的水印名稱(chēng),從而實(shí)現(xiàn)批量添加PDF水印的效果。感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-02-02使用python從三個(gè)角度解決josephus問(wèn)題的方法
這篇文章主要介紹了使用python從三個(gè)角度解決josephus問(wèn)題的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03python實(shí)現(xiàn)摳圖給證件照換背景源碼
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)摳圖給證件照換背景源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08Python判斷素?cái)?shù)的3種方法及for-else語(yǔ)句的用法介紹
素?cái)?shù)又叫質(zhì)數(shù),指的是>1的整數(shù)中,只能被1和這個(gè)數(shù)本身整除的數(shù),這篇文章主要給大家介紹了關(guān)于Python判斷素?cái)?shù)的3種方法及for-else語(yǔ)句的用法介紹的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05Django中使用CORS實(shí)現(xiàn)跨域請(qǐng)求過(guò)程解析
這篇文章主要介紹了Django中使用CORS實(shí)現(xiàn)跨域請(qǐng)求過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python文件操作的基礎(chǔ)詳細(xì)講解(write、read、readlines、readline)
使用python來(lái)讀寫(xiě)文件是非常簡(jiǎn)單的操作,下面這篇文章主要給大家介紹了關(guān)于python文件操作的基礎(chǔ)詳細(xì)資料,包括write、read、readlines、readline等相關(guān)操作,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04