用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 相关文章推荐
linux 下实现python多版本安装实践
Nov 18 Python
Python找出文件中使用率最高的汉字实例详解
Jun 03 Python
Python使用defaultdict读取文件各列的方法
May 11 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
python获取中文字符串长度的方法
Nov 14 Python
python面试题Python2.x和Python3.x的区别
May 28 Python
python manage.py runserver流程解析
Nov 08 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
python闭包与引用以及需要注意的陷阱
Sep 18 Python
Python 测试框架unittest和pytest的优劣
Sep 26 Python
python通用数据库操作工具 pydbclib的使用简介
Dec 21 Python
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 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无限分类的深入理解
2013/06/02 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
Python之reload流程实例代码解析
2018/01/29 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
python游戏开发的五个案例分享
2020/03/09 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
python实现与redis交互操作详解
2020/04/21 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
文秘专业大学生求职信
2013/11/10 职场文书
2014国培学习感言
2014/03/05 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
北京奥运会口号
2014/06/21 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
frg-100简单操作(设置)说明
2022/04/05 无线电