用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编程中@property装饰器的用法
Jun 20 Python
Zabbix实现微信报警功能
Oct 09 Python
Python实现求数列和的方法示例
Jan 12 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
Python assert语句的简单使用示例
Jul 28 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
Python如何使用OS模块调用cmd
Feb 27 Python
Python xlrd excel文件操作代码实例
Mar 10 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 session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
利用python求相邻数的方法示例
2017/08/18 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
企业安全生产月活动总结
2014/07/05 职场文书
党校党性分析材料
2014/12/19 职场文书
岳庙导游词
2015/02/04 职场文书
英语教师求职信范文
2015/03/20 职场文书
2015年工会工作总结
2015/03/30 职场文书
治理商业贿赂工作总结
2015/08/10 职场文书
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers
python神经网络Xception模型
2022/05/06 Python