用Pygal绘制直方图代码示例


Posted in Python onDecember 07, 2017

Pygal可用来生成可缩放的矢量图形文件,对于需要在尺寸不同的屏幕上显示的图表,这很有用,可以自动缩放,自适应观看者的屏幕

1、Pygal模块安装

pygal的安装这里暂不介绍,大家可参阅《pip和pygal的安装实例教程》

2、Pygal画廊-直方图

模拟掷骰子,分析最后的结果,生成图形

创建die.py筛子类文件:

from random import randint
class Die():
  '''扔骰子的类'''
  def __init__(self,num_sides=6):
    self.num_sides = num_sides # 骰子的面数
  def roll(self):
    return randint(1,self.num_sides)

创建die_visual.py文件,生成直方图:

from die import Die
import pygal
 
die = Die()
 
# 数据集合
results = []
count = 1
for roll_num in iter(lambda *args:die.roll(),None):
  results.append(roll_num)
  if count >= 1000:
    break
  count +=1
 
# 分析结果
frequencies= []
for value in range(1,die.num_sides+1):
  frequencie = results.count(value)
  frequencies.append(frequencie)
 
# 对结果进行可视化
hist = pygal.Bar()   # 生成实例
hist.title = 'Results of rolling one D6 1000 times' # 标题
hist.x_labels = ['1','2','3','4','5','6']      # X轴数值坐标
hist.x_title = 'Result'                 # X轴标题
hist.y_title = 'Frequency of Result'        # Y轴标题
 
hist.add('D6',frequencies)               # 传入Y轴数据
hist.render_to_file('die_visual.svg')        # 文件生成路径,必须为svg格式文件

通过浏览器打开die_visual.svg文件:

用Pygal绘制直方图代码示例

3、同时掷两枚骰子

修改die_visual.py文件:

from die import Die
import pygal
 
die1 = Die()
die2 = Die()
 
# 数据集合
results = []
for i in range(5000):
  result = die1.roll() + die2.roll()
  results.append(result)
# 分析结果
frequencies= []
for value in range(2,die1.num_sides+die2.num_sides+1):
  frequencie = results.count(value)
  frequencies.append(frequencie)
# 对结果进行可视化
hist = pygal.Bar()   # 生成实例
hist.title = 'Results of rolling one D6 5000 times' # 标题
hist.x_labels = ['2','3','4','5','6','7','8','9','10',11,12]      # X轴数值坐标
hist.x_title = 'Result'                 # X轴标题
hist.y_title = 'Frequency of Result'        # Y轴标题
 hist.add('D6+D6',frequencies)               # 传入Y轴数据
hist.render_to_file('die_visual.svg')        # 文件生成路径,必须为svg格式文件

浏览器浏览图形die_visual.svg:

用Pygal绘制直方图代码示例

总结

以上就是本文关于用Pygal绘制直方图代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python中使用中文的方法
Feb 19 Python
python和shell变量互相传递的几种方法
Nov 20 Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
python二分查找算法的递归实现方法
May 12 Python
python+django加载静态网页模板解析
Dec 12 Python
Python实现线程状态监测简单示例
Mar 28 Python
python的schedule定时任务模块二次封装方法
Feb 19 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
python爬虫 urllib模块发起post请求过程解析
Aug 20 Python
使用python去除图片白色像素的实例
Dec 12 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 Python
[原创]pip和pygal的安装实例教程
Dec 07 #Python
利用Python进行异常值分析实例代码
Dec 07 #Python
Python3解决棋盘覆盖问题的方法示例
Dec 07 #Python
python实现对excel进行数据剔除操作实例
Dec 07 #Python
Python编程实现使用线性回归预测数据
Dec 07 #Python
机器学习10大经典算法详解
Dec 07 #Python
机器学习的框架偏向于Python的13个原因
Dec 07 #Python
You might like
网站加速 PHP 缓冲的免费实现方法
2006/10/09 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
JQuery球队选择实例
2015/05/18 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
基于openlayers实现角度测量功能
2020/09/28 Javascript
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
基于python编写的微博应用
2014/10/17 Python
Python3实现转换Image图片格式
2018/06/21 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
Python 没有main函数的原因
2020/07/10 Python
python爬虫---requests库的用法详解
2020/09/28 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
保健品市场营销方案
2014/03/31 职场文书
党员承诺书范文
2014/05/19 职场文书
教师求职自荐书
2014/06/14 职场文书
小学教师读书活动总结
2014/07/08 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
关于工作经历的证明书
2014/10/11 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
《学会看病》教学反思
2016/02/17 职场文书
演讲稿:态度决定一切
2019/04/02 职场文书