Python数据可视化之随机点图

使用Python来生成随机漫步数据,再使用matplotlib将这些数据呈现出来。 随机漫步是这样行走得到的路径:每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的 。

创建 RandomWalk()类

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Date    : 2020-11-13 16:20:44
# @Author  : EricRay
# @Email   : ericray.tech@outlook.com
# @Link    : https://blog.csdn.net/ericleiy/
# @Description : 随机生成所有可能存在的点from random import choiceclass 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])  # 1 向右 -1向左x_distance = choice([1, 2, 3, 4])   # 随机选择0-4之间的整数x_step = x_direction * x_distancey_direction = choice([1, -1])y_distance = choice([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_stepnext_y = self.y_values[-1] + y_stepself.x_values.append(next_x)self.y_values.append(next_y)

绘制随机漫步图

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Date    : 2020-11-13 16:32:38
# @Author  : EricRay
# @Email   : ericray.tech@outlook.com
# @Link    : https://blog.csdn.net/ericleiy/
# @Descriptionimport matplotlib.pyplot as pltfrom random_walk import RandomWalk# 不断模拟
while True:# 创建一个RandomWalk实例,绘制所有的点rw = RandomWalk()rw = RandomWalk(50000)  # 增加点数rw.fill_walk()# plt.scatter(rw.x_values, rw.y_values, s=15)# 设置绘图窗口的尺寸# plt.figure(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,edgecolors='none', s=10)# 突出起点和终点plt.scatter(0, 0, c='green', edgecolors='none', s=50)  # 起点plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red',edgecolors='none', s=50)  # 终点# 隐藏坐标轴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

效果图:

Python数据可视化之随机点图相关推荐

  1. 每日一课 | Python数据可视化—多样化的图像

    07 大家好,我是营长,昨天营长分享了数据科学"的知识点:,不清楚的小伙伴可戳这????每日一课|Python数据可视化-如何分区和绘图 本期营长接着为大家分享Python数据可视化相关内容 ...

  2. python画折线图详解-Python数据可视化(一) 绘制折线图和散点图

    数据可视化示例 对数据可视化的浅认知 数据可视化是任何数据科学或机器学习的重要组成部分.可视化能将数据以更加直观的方式展现出来,使数据更加客观.更具说服力.同时,也易于发现隐藏在数据中的规律和意义.尤 ...

  3. Python数据可视化的10种技能

    内容来自:极客时间专栏<数据分析实战45讲> 如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解.其中最直观的就是采用数据可视化技 ...

  4. python数据可视化的特点_python的数据分析到底是啥?python数据可视化怎么做?

    python是个啥?它一个强大的编程语言.数据分析是个啥?它一目了然,就是将数据进行分析,看看能得出什么结论.那python的数据分析到底是啥?其实就是通过这个语言将数据分析做出来,更加便捷化,更加速 ...

  5. python数据可视化之美源码_Python数据可视化之美-专业图

    Python数据可视化之美 专业图表绘制指南 作  者:张杰 著 定  价:129 出 版 社:电子工业出版社 出版日期:2020年03月01日 页  数:303 装  帧:平装 ISBN:97871 ...

  6. Python数据可视化学习(初学中...)

    Python数据可视化学习(初学中...) 1.使用Matplotlib生成数据图 1.1.安装Matplotlib包 1.2.Matplotlib数据图入门 1.2.1.折线图举例 1.2.2.图表 ...

  7. Python数据可视化之Matplotlib-基础详细篇

    Python数据可视化-Matplotlib 上一篇文章大概介绍了数据可视化-Matplotlib之基础知识.这篇文章我们学习一下常用图形的绘制方法. 常用平面图形 普通图 常用函数可以直接用 plt ...

  8. python数据可视化库_python和r中用于数据可视化的前9个库

    python数据可视化库 In the rapidly growing world of today, when technology is expanding at a rate like neve ...

  9. Python数据可视化三部曲之 Seaborn 从上手到上头

      Python数据可视化三部曲之 Seaborn 从上手到上头 文章目录 1. 安装 seaborn 2.准备数据 3.背景与边框 3.1 设置背景风格 3.3 其他 3.2 边框控制 4. 绘制 ...

最新文章

  1. SSL协议安全系列:PKI体系中的证书吊销
  2. 女程序员也有 35 岁危机焦虑吗?
  3. 黔农云认证用别人认证_绝对干货,黔农云常见17个问题答疑!
  4. 关系数据库的数据迁移
  5. 可视化---寻找路径与算法
  6. leetcode 之Median of Two Sorted Arrays(五)
  7. Liferay 用本地私服(nexus) 打包部署Portlet应用
  8. 失效日期 软件测试案例_软件异常测试
  9. Python使用装饰器和线程限制函数执行时间的方法
  10. r语言调用python_小众做法,通过python调用R语言的第三方包
  11. printf,sprintf,vsprintf 区别【转】
  12. one vs all -- 将01分类器用于多类分类问题
  13. python---用python实现选择排序
  14. 检测目标程序ELF bit是32还是64
  15. Xpose框架的入门学习
  16. 《老路用得上的商学课》91-95学习笔记
  17. 05 js面向对象(属性操作符,创建对象)
  18. 牛客网 月出皎兮,佼人僚兮。 树上启发式合并
  19. 机器学习笔记之二十一——基于统计的中文分词方法
  20. smartbi试用体验

热门文章

  1. 获取上传文件的后缀,.jpg,.png,.word,.xsl...使用方法split,lastindexOf,subtr
  2. 论文阅读:MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2)
  3. float gpu 加速_(总结篇)使用 MATLAB GPU 加速计算|MATLAB 并行计算与分布式服务器|MATLAB技术论坛...
  4. 电脑怎么用c语言写丘比特,C语言丘比特#includebr/#includebr/ 爱问知识人
  5. 健康系列——如何增强免疫力
  6. 让工作快乐起来500强企业推崇的新理念
  7. Excel教程:数值为0不显示的三种解决方法介绍
  8. 进阶篇:2.1)DFMA实施障碍和关键
  9. Android camera2扫描
  10. android相片拼板源码,实现仿微信拍照和选取相片(转自网络)