用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实现simhash算法实例
Apr 25 Python
Python探索之静态方法和类方法的区别详解
Oct 27 Python
python矩阵的转置和逆转实例
Dec 12 Python
Python3实现获取图片文字里中文的方法分析
Dec 13 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
详解Python的三种可变参数
May 08 Python
python函数map()和partial()的知识点总结
May 26 Python
浅谈Python程序的错误:变量未定义
Jun 02 Python
Python加速程序运行的方法
Jul 29 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 Python
pytorch 使用半精度模型部署的操作
May 24 Python
一文搞懂python异常处理、模块与包
Jun 26 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
[52:14]VG vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
python中嵌套函数的实操步骤
2019/02/27 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
土木工程个人自荐信范文
2013/11/30 职场文书
物业管理工作方案
2014/05/10 职场文书
优秀求职信
2014/05/29 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
会计工作检讨书
2015/02/19 职场文书
放假通知格式
2015/04/14 职场文书
飞越疯人院观后感
2015/06/09 职场文书
《窃读记》教学反思
2016/02/18 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js