Pygal可用来生成可缩放的矢量图形文件,对于需要在尺寸不同的屏幕上显示的图表,这很有用,可以自动缩放,自适应观看者的屏幕
1、Pygal模块安装
pygal的安装这里暂不介绍,大家可参阅《pip和pygal的安装实例教程》
2、Pygal画廊-直方图
模拟掷骰子,分析最后的结果,生成图形
创建dIE.py筛子类文件:
from random import randintclass 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 DIEimport pygal dIE = DIE() # 数据集合results = []count = 1for 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文件:
3、同时掷两枚骰子
修改dIE_visual.py文件:
from dIE import DIEimport 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','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绘制直方图代码示例全部内容,希望文章能够帮你解决用Pygal绘制直方图代码示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)