Python编程:从入门到实践-项目2-数据可视化2-生成数据-Demo
前记:
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相关推荐
- 《Python编程从入门到实践》记录之json模块(数据存储)
模块json让你能够将简单的Python数据结构转储到文件中, 并在程序再次运行时加载该文件中的数据. 你还可以使用json在Python程序之间分享数据.更重要的是,JSON数据格式并非Python ...
- python从入门到实践外星人入侵,GitHub - tryturned/alien-invasion: Python 编程从入门到实践项目之外星人入侵...
alien-invasion 目录 1. 外星人入侵:使用 Python 开发游戏 将使用 Pygame 包来开发一款 2D 游戏,它在玩家每消灭一群向下移动的外星人后,都将玩家提高一个等级:而等级越 ...
- python编程从入门到实践 项目一:外星人入侵
更改:子弹采用爱心图片形式,飞船和外星人换成了个人照片(已打码).改成了一个给女朋友玩儿的小游戏~ alien_invasion.py import pygame from pygame.sprite ...
- python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目
文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...
- python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章
文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...
- python编程 从入门到实践豆瓣-三周刷完《Python编程从入门到实践》的感受
本文将以对话采访的形式展现 为什么会选择学习Python 语法简洁,实用,和golang部分类似,学习性价比高: 应用范围广,涉及后端,机器学习,图像处理,游戏等: 好奇这是一门怎样的语言 计划如何学 ...
- python基础学习[python编程从入门到实践读书笔记(连载一)]
写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...
- python编程从入门到实践 第18章Django入门 2022年最新
说明:这篇文章只是记录自己自学本书的一个痕迹,日后来看作为一个念想.至于做为公开,是希望对一些同样跟我一样的朋友有一点点帮助,当然我本人就是小白,帮助可能也不大哈哈. 这篇文章记录了<pytho ...
- Python编程从入门到实践 第十章:文件和异常 练习答案记录
Python编程从入门到实践 第十章:文件和异常 练习答案记录 练习题导航 Python编程从入门到实践 第十章:文件和异常 练习答案记录 10.1 从文件中读取数据 10.1.1 读取整个文件 10 ...
最新文章
- [转] splice系列系统调用
- 【swjtu】数字电路实验5_按键防抖动
- Stuart Russell:有益AI三原则,需满足人类偏好
- 区块链研习 | 什么是区块链的链外交易和链内交易
- 简易有WEB文件服务器,Python实现简易版的Web服务器(推荐).pdf
- 云原生时代,底层性能如何调优?
- “深度学习已死,可微编程万岁!”LeCun老师为何又语出惊人?
- D3D中材质通过D3DMATERIAL9结构说明
- log4j配置日志文件log4j.appender.R.File相对路径方法
- 【力扣 912】十大排序算法
- 博客园的 “随笔、文章、日记”有什么区别?
- matlab int积分常数,matlab int 积分
- _003_WindowsOperation_为什么升级win10后,很多软件打开就显示文件系统错误(-1073741819)
- oracle linux 环境变量
- move是MySQL命令_MOVE命令_视频讲解_用法示例-redis编程词典-php中文网
- Google 常用镜像收集
- 武汉工程大计算机学校地址,武汉工程学院
- IBM ServerGuide 9.40
- Scratch 3.0 版本比较
- 联通云的七大“场景云”,能让用户实现云计算自由吗?
热门文章
- UI自动化控制PC端微信获取当前群聊的群友列表
- DeFi之道丨一文读懂非足额抵押机构贷款协议Maple Finance
- 使用MindStudio进行语义分割应用开发
- 澳洲移民 技术移民_前5名:视频中的猫! 适用于移民的Linux计算机等
- 使用 acme.sh 为网站生成永久免费证书
- VMware Horizon View 6.0桌面虚拟化与应用虚拟化(笔记)
- 聚集诱导发光(AIE)活性基团四苯乙烯修饰aza-BODIPY荧光染料
- BBAM: Bounding Box Attribution Map for Weakly Supervised Semantic and Instance Segmentation
- Amazon(亚马逊)2014届秋季校园招聘在线笔试题一
- 机器人视觉(二) ROS Melodic + CSI 摄像头 + jetson Nano 2GB