python数据随机漫步,生成美图

简介: python数据随机漫步,生成美图

三岁日常玩编程——随机漫步


安装 matplotlib第三方库



打开DOS命令模式

wind 键加 R 开启运行,输入 cmd 回车

在 cmd 中输入 pip install matplotlib 回车即可

如果安装不了或报错

https://pypi.python.org/pypi/matplotlib/

下载对应版本后缀名为.whl

在dos中到文件所在文件夹然后输入python -m pip install --user matplotlib-1.4.3-cp35-none-win32.whl即可


构建随机漫步函数类


#random_walk.py
#创建一个随机漫步的类
from random import choice
#导入随机函数
class RandomWalk():
      '''生成一个随机漫步的类'''
      def __init__(self, num_points = 5000):
            '''初始化属性'''
            self.num_points = num_points
            #默认次数为5000
            #所有随机初始漫步源于(0,0)
            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)


先初始化位置为(0, 0)然后分别设 x , y 的前进方式,1 或 -1代表右边或左边,长度为 0 到 4


假设 x ,y 在原地时不算,把结果放入列表


绘制随机漫步图


# rw_visual02.py
#导入第三方库及随机漫步类
import matplotlib.pyplot as plt
from random_walk import RandomWalk
#只要程序处于活动转态,就不断模拟随机漫步
while True:
      #创建一个RandomWalk实例,并将结果绘制出来
      rw = RandomWalk(50000)#括号中的次数为随机漫步次数
      rw.fill_walk()
      #设置绘图窗口尺寸
      plt.figure(figsize=(10, 6))
      '''创建列表长度从0到num_points'''
      point_numbers = list(range(rw.num_points))
      '''
      标出各个点的位置色彩重浅到深,每个点的大小为1.
      '''
      plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues,
                  edgecolor='none', s = 1)
      #突出起点和终点
      plt.scatter(0, 0, c='green', edgecolors='none', s=5)
      plt.scatter(rw.x_values[-1],rw.y_values[-1], c='red', edgecolors='none',
                  s=5)
      #隐藏坐标轴
      plt.axes().get_xaxis().set_visible(False)
      plt.axes().get_yaxis().set_visible(False)
      plt.show()
      keep_running = input('是否继续(y/n):')
      if keep_running  == 'n':
            break


生成图每次都不一样,虽然无序但是也略有美感


成品展示



2020040814124150.png20200408141329648.png20200408141349751.png20200408141410443.png20200408141429151.png


海星⑧

等什么抓紧试试吧,你也可以的!

觉得海星的话记得三连:点赞,留言,收藏

目录
相关文章
|
4天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by=&#39;A&#39;, ascending=False)`。`rank()`函数用于计算排名,如`df[&#39;A&#39;].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=[&#39;A&#39;, &#39;B&#39;], ascending=[True, False])`和分别对&#39;A&#39;、&#39;B&#39;列排名。
14 2
|
3天前
|
机器学习/深度学习 数据挖掘 网络架构
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
15 0
|
3天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
27 1
|
3天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
23 0
|
1天前
|
机器学习/深度学习 存储 监控
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
|
1天前
|
机器学习/深度学习 数据采集 算法
Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|数据分享
Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|数据分享
Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|数据分享
|
1天前
|
JSON 数据可视化 定位技术
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
4 0
|
2天前
|
机器学习/深度学习 算法 Python
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
21 4
|
3天前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,提供DataFrame数据结构。基本步骤包括导入库、创建DataFrame及进行数据筛选。示例代码展示了如何通过布尔索引、`query()`和`loc[]`方法筛选`Age`大于19的记录。
10 0
|
5天前
|
Python
如何使用Python的Pandas库进行数据缺失值处理?
Pandas在Python中提供多种处理缺失值的方法:1) 使用`isnull()`检查;2) `dropna()`删除含缺失值的行或列;3) `fillna()`用常数、前后值填充;4) `interpolate()`进行插值填充。根据需求选择合适的方法处理数据缺失。
39 9