前记:

python的项目文件使之不普通就必须加一个__init__.py的文件,这样解释程序才能正确识别以下的模块,不然会导致出错,python基本的import 语句:from   [..\xxxxx\.]  xx  import xx   [,x1,x2]  as myname ;

项目目录

D:.
│  test.txt
│  __init__.py
│  
├─RandWalk
│  │  random_walk.py
│  │  rw-visual.py
│  │  __init__.py
│  │  
│  └─__pycache__
└─zhi_sai_zi
    │  dice_visual.svg
    │  dice_visual_two.svg
    │  die-visual
    │  die.py
    │  die_visual.py
    │  two_die.py
    │  __init__.py
    │  
    └─__pycache__

预览:生成的可视化文件,格式:svg

rw-visual.py

'''rw_visual'''
import matplotlib.pyplot as plt
from Generate_data.RandWalk.random_walk import randomwalk
while True:rw = randomwalk()rw.fill_walk()#设置窗口的大小,像素的大小plt.figure(dpi = 128,figsize=(10, 6))points_sum_num = list(range(rw.num_points))plt.scatter(rw.x_values,rw.y_values,c=points_sum_num, cmap =plt.cm.Blues,edgecolors='none',s=15)#突出起始点和终结点,也就是重新绘制plt.scatter(0, 0, c='green', edgecolors='none', s=100)plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none',s=100)#设置坐标轴的可见度plt.axes().get_xaxis().set_visible(False)plt.axes().get_yaxis().set_visible(False)plt.show()keep_on = input("Make another?(y/n):")if keep_on =='n':break

产生数据的基础代码,学会如何生成随机数据:

'''randomwalk'''
from random import choice
class randomwalk():def __init__(self,num_points=500000):"""初始化随机漫步的属性"""
        self.num_points = num_points#所有的随机漫步初始为(0,0)
        self.x_values = [0]self.y_values = [0]def fill_walk(self):"""jisuan suoyou baohan de dian"""
        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_distancey_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_stepnext_y = self.y_values[-1] +y_stepself.x_values.append(next_x)self.y_values.append(next_y)

此时我的数据量已经很大了,开始测试运行可以小一些,不然很卡:

下面是进一步的条状图分析生成的代码:

'''two die'''
from .die import Die
import pygal
# 创建一个D6和一个D10
die_1 = Die()
die_2 = Die(10)
# 掷骰子多次,并将结果存储在一个列表中
results = []for roll_num in range(50000):result = die_1.roll() + die_2.roll()results.append(result)
# 分析结果
frequencies = []
for result in range(1, die_1.sides+1+die_2.sides):frequency = results.count(result)frequencies.append(frequency)
print(frequencies)
# 可视化结果
hist = pygal.Bar()
hist.title = "Results of rolling a D6 and a D10 50,000 times."
hist.x_labels = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12',
'13', '14', '15', '16']
hist.x_title = "Result"
hist.y_title = "Frequency of Result"hist.add('D6 + D10', frequencies)
hist.render_to_file('dice_visual_two.svg')
die_visual生成图形
from Generate_data.zhi_sai_zi import Die
import pygal
die = Die()
res = []
for roll_num in range(100):res_ = die.roll()res.append(res_)print(str(res)+'\n-----------Results---------------')
frequencys = []
for i in range(1,die.sides+1):frequency = res.count(i)frequencys.append(frequency)
print(frequencys)hist = pygal.Bar()
hist.title = "result of 100 times rolling the sai-zi"
hist.x_labels = ['1','2','san','3','si','5','6']
hist.y_title = "sai-zi jie guo"
hist.x_title = "the bunber"
hist.add('D6',frequencys)
hist.render_to_file('die-visual')

下面一节是关于如何清洗和分析下载的数据,就是一些json,exel常用的文件格式的分析;

原著作者的网址可以参见:

Python Crash course

想要书的资源关注我微信公众号嘛,也想涨涨人气和各路小仙吹吹牛交交友;

Python编程:从入门到实践-项目2-数据可视化2-生成数据-Demo相关推荐

  1. 《Python编程从入门到实践》记录之json模块(数据存储)

    模块json让你能够将简单的Python数据结构转储到文件中, 并在程序再次运行时加载该文件中的数据. 你还可以使用json在Python程序之间分享数据.更重要的是,JSON数据格式并非Python ...

  2. python从入门到实践外星人入侵,GitHub - tryturned/alien-invasion: Python 编程从入门到实践项目之外星人入侵...

    alien-invasion 目录 1. 外星人入侵:使用 Python 开发游戏 将使用 Pygame 包来开发一款 2D 游戏,它在玩家每消灭一群向下移动的外星人后,都将玩家提高一个等级:而等级越 ...

  3. python编程从入门到实践 项目一:外星人入侵

    更改:子弹采用爱心图片形式,飞船和外星人换成了个人照片(已打码).改成了一个给女朋友玩儿的小游戏~ alien_invasion.py import pygame from pygame.sprite ...

  4. python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目

    文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...

  5. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章

    文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...

  6. python编程 从入门到实践豆瓣-三周刷完《Python编程从入门到实践》的感受

    本文将以对话采访的形式展现 为什么会选择学习Python 语法简洁,实用,和golang部分类似,学习性价比高: 应用范围广,涉及后端,机器学习,图像处理,游戏等: 好奇这是一门怎样的语言 计划如何学 ...

  7. python基础学习[python编程从入门到实践读书笔记(连载一)]

    写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...

  8. python编程从入门到实践 第18章Django入门 2022年最新

    说明:这篇文章只是记录自己自学本书的一个痕迹,日后来看作为一个念想.至于做为公开,是希望对一些同样跟我一样的朋友有一点点帮助,当然我本人就是小白,帮助可能也不大哈哈. 这篇文章记录了<pytho ...

  9. Python编程从入门到实践 第十章:文件和异常 练习答案记录

    Python编程从入门到实践 第十章:文件和异常 练习答案记录 练习题导航 Python编程从入门到实践 第十章:文件和异常 练习答案记录 10.1 从文件中读取数据 10.1.1 读取整个文件 10 ...

最新文章

  1. [转] splice系列系统调用
  2. 【swjtu】数字电路实验5_按键防抖动
  3. Stuart Russell:有益AI三原则,需满足人类偏好
  4. 区块链研习 | 什么是区块链的链外交易和链内交易
  5. 简易有WEB文件服务器,Python实现简易版的Web服务器(推荐).pdf
  6. 云原生时代,底层性能如何调优?
  7. “深度学习已死,可微编程万岁!”LeCun老师为何又语出惊人?
  8. D3D中材质通过D3DMATERIAL9结构说明
  9. log4j配置日志文件log4j.appender.R.File相对路径方法
  10. 【力扣 912】十大排序算法
  11. 博客园的 “随笔、文章、日记”有什么区别?
  12. matlab int积分常数,matlab int 积分
  13. _003_WindowsOperation_为什么升级win10后,很多软件打开就显示文件系统错误(-1073741819)
  14. oracle linux 环境变量
  15. move是MySQL命令_MOVE命令_视频讲解_用法示例-redis编程词典-php中文网
  16. Google 常用镜像收集
  17. 武汉工程大计算机学校地址,武汉工程学院
  18. IBM ServerGuide 9.40
  19. Scratch 3.0 版本比较
  20. 联通云的七大“场景云”,能让用户实现云计算自由吗?

热门文章

  1. UI自动化控制PC端微信获取当前群聊的群友列表
  2. DeFi之道丨一文读懂非足额抵押机构贷款协议Maple Finance
  3. 使用MindStudio进行语义分割应用开发
  4. 澳洲移民 技术移民_前5名:视频中的猫! 适用于移民的Linux计算机等
  5. 使用 acme.sh 为网站生成永久免费证书
  6. VMware Horizon View 6.0桌面虚拟化与应用虚拟化(笔记)
  7. 聚集诱导发光(AIE)活性基团四苯乙烯修饰aza-BODIPY荧光染料
  8. BBAM: Bounding Box Attribution Map for Weakly Supervised Semantic and Instance Segmentation
  9. Amazon(亚马逊)2014届秋季校园招聘在线笔试题一
  10. 机器人视觉(二) ROS Melodic + CSI 摄像头 + jetson Nano 2GB