用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获取CPU、内存和硬盘等windowns系统信息的2个例子
Apr 15 Python
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
用Python编写脚本使IE实现代理上网的教程
Apr 23 Python
Python中用altzone()方法处理时区的教程
May 22 Python
Python复数属性和方法运算操作示例
Jul 21 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
PyQt5使用QTimer实现电子时钟
Jul 29 Python
解决python3 安装不了PIL的问题
Aug 16 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
Nov 29 Python
Ranorex通过Python将报告发送到邮箱的方法
Jan 12 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
Jun 24 Python
Django集成富文本编辑器summernote的实现步骤
May 31 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/12/06 PHP
php 生成文字png图片的代码
2011/04/17 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
js加解密 脚本解密
2008/02/22 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
javascript 数组操作详解
2015/01/29 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
element中table高度自适应的实现
2020/10/21 Javascript
Python简单的制作图片验证码实例
2017/05/31 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
150行Python代码实现带界面的数独游戏
2020/04/04 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
高级运动鞋:GREATS
2019/07/19 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
三方协议书范本
2014/04/22 职场文书
五一劳动节演讲稿
2014/09/12 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
绿里奇迹观后感
2015/06/15 职场文书
详解MySQL中的pid与socket
2021/06/15 MySQL
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python