随机漫步【scatter的使用】

简介: 随机漫步【scatter的使用】

去掉scatter的坐标轴(未成功版)

import matplotlib.pyplot as plt
from random import choice
class RandomWalk():
    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:
            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
            
            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 = RandomWalk()#类实例化
rw.fill_walk()#使用类的方法
point_numbers = list(range(rw.num_points))#生成一个从0-(rw.num_points-1)的列表
# 隐藏坐标轴 !!!这样写没有效果
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)

plt.scatter(rw.x_values,rw.y_values,c = point_numbers,cmap = plt.cm.Blues , s = 15)#显示所有数据
# 要想特殊展示起点和终点,得把特殊的点再后边画
plt.scatter(0,0,c = 'green',edgecolors = 'none',s = 100)#(0,0)点以绿色加粗显示
plt.scatter(rw.x_values[-1],rw.y_values[-1],c = 'red',edgecolors='none',s = 100)#rw.x_values[-1],rw.y_values[-1]以红色加粗显示


plt.show()

去掉scatter的坐标轴(成功版)

import matplotlib.pyplot as plt
from random import choice
class RandomWalk():
    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:
            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
            
            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 = RandomWalk()#类实例化
rw.fill_walk()#使用类的方法
point_numbers = list(range(rw.num_points))#生成一个从0-(rw.num_points-1)的列表
# 隐藏坐标轴 隐藏坐标轴必须在scatter之前写,不然不会生效
axes = plt.axes() #得先这样写
axes.get_xaxis().set_visible(False)
axes.get_yaxis().set_visible(False)

plt.scatter(rw.x_values,rw.y_values,c = point_numbers,cmap = plt.cm.Blues , s = 15)#显示所有数据
# 要想特殊展示起点和终点,得把特殊的点再后边画
plt.scatter(0,0,c = 'green',edgecolors = 'none',s = 100)#(0,0)点以绿色加粗显示
plt.scatter(rw.x_values[-1],rw.y_values[-1],c = 'red',edgecolors='none',s = 100)#rw.x_values[-1],rw.y_values[-1]以红色加粗显示


plt.show()

相关文章
|
监控 调度 数据库
深入浅出Python协程:提高I/O密集型应用性能的利器
在本文中,我们将探索Python协程的强大之处,特别是在处理I/O密集型任务时如何显著提升应用程序的性能。我们不仅会介绍协程的基础知识,包括它们是如何工作的,还会通过实际示例展示如何在您的项目中有效地利用协程来优化性能。我们的目标是使读者能够深刻理解协程的原理,并学会如何在自己的编程实践中灵活运用这一强大的并发编程模型。
|
7月前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
254 71
|
11月前
|
Prometheus Kubernetes 网络协议
Istio 的配置分析
Istio 的配置分析
118 1
|
Cloud Native 关系型数据库 分布式数据库
【PolarDB开源】PolarDB与云原生数据库比较:特点、优势与选型建议
【5月更文挑战第26天】PolarDB是阿里云的云原生数据库,以其计算存储分离、一写多读架构和数据一致性保障脱颖而出。与Amazon Aurora和Google Cloud Spanner相比,PolarDB在中国市场更具优势,适合读多写少的场景和需要严格数据一致性的应用。企业在选型时应考虑业务需求、地域、读写比例和兼容性。PolarDB作为优秀解决方案,将在云原生数据库领域持续发挥关键作用。
742 1
|
弹性计算 关系型数据库 MySQL
【阿里云弹性计算】从零搭建:基于阿里云ECS的高性能Web服务部署实践
【5月更文挑战第21天】本文介绍了如何使用阿里云ECS搭建高性能Web服务。首先,注册阿里云账号购买ECS实例,选择合适配置。接着,通过SSH连接实例,更新系统并安装Apache、PHP和MySQL。创建网站目录,上传代码,配置数据库和PHP。然后,启用Gzip压缩和KeepAlive,调整Apache并发连接数以优化性能。此教程为在阿里云上构建高效Web服务提供了基础指南。
289 5
|
人工智能 自然语言处理 安全
AIGC时代,阿里云如何让短剧出海更便捷?
短剧高温下,谈谈AIGC的助攻路线。
42332 0
AIGC时代,阿里云如何让短剧出海更便捷?
|
编解码 安全 计算机视觉
FFMPEG常用命令 音视频合并
FFMPEG常用命令 音视频合并
417 2
|
C语言
C语言字符串、宏定义及主函数介绍
C语言字符串、宏定义及主函数介绍
438 0
|
前端开发 JavaScript 测试技术
Vue3+Vite+TypeScript常用项目模块详解(下)
现在无论gitee还是github,越来越多的前端开源项目采用Vue3+Vite+TypeScript+Pinia+Elementplus+axios+Sass(css预编译语言等),其中还有各种项目配置比如eslint 校验代码工具配置等等,而我们想要进行前端项目的二次开发,就必须了解会使用这些东西,所以作者写了这篇文章进行简单的介绍。
249 0
|
Linux 数据库
【Linux】解决 centos IP地址冲突问题
【Linux】解决 centos IP地址冲突问题
547 0
【Linux】解决 centos IP地址冲突问题
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等