生成数据(matplotlib,pygal)--章总结10.2

本文是一位零基础小白学习Python的记录,主要复习了使用pygal绘制直方图和matplotlib库的plot()、scatter()函数。介绍了如何安装库,设置图表参数,以及通过实践项目——随机漫步和模拟掷骰子来应用所学知识。
摘要由CSDN通过智能技术生成

大家好!这里是记录一个非专业的小白学习python的路径,完全是零基础自学。由于作者刚刚大学毕业所学专业找到的工作不太喜欢,工作空闲时间长,在职学习python语言,想借助这个平台记录一下自己学习的路径,文章有什么错误也希望大佬们积极指出,万分感谢!希望同大家一起学习,一起进步,谢谢。内容基于书籍python编程:从入门到实践    作者:Eric Matthes [美]

一、复习昨日之学习

1.昨天学习的内容是使用pygal来模拟掷骰子并绘制直方图,想了解的铁子们请关注作者并翻看昨日习笔记。

大概知识点:安装pygal库,获取图表数据,分析结果并将结果可视化。

效果图:

2.昨日知识点练习:

 

 练习7只需要将昨天的代码中Die()中传递实参由6改为8,直表图的x标签由2-12改为2-16就行,效果图如下:

 练习8的原理和7差不多这里就不详细介绍,练习9的效果图和源代码如下:

效果图:

源代码:

#coding=gbk
#die.py 文件名为die
from random import randint
import pygal



class Die():
	#表示一个骰子的类
	def __init__(self,num_sides=6):
		#骰子数默认为6
		self.num_sides = num_sides
	def roll(self):
		#返回一个位于1和骰子面数之间的值
		return randint(1,self.num_sides)

#创建两个个D6的骰子实例
die_1=Die()
die_2=Die()
results= [] #将掷骰子结果存储到列表中
for roll_num in range(1000):#掷1000次
	result = die_1.roll()*die_2.roll()
	results.append(result)



#分析结果
frequencies =[]
max_result=die_1.num_sides**2
for value in range(2,max_result+1):#遍历1-36
	frequency = results.count(value)#计数results列表中出现value次数
	frequencies.append(frequency)

#对结果进行可视化
hist = pygal.Bar() #使用pygal库中的条形图类
#设置图表标题标签等
hist.title = "Results of rolling two D6 100times."
x=list(range(1,max_result+1))
hist.x_labels = x
#hist.x_labels = ['2','3','4','5','6','7','8','9','10','11','12','13',
#	'14','15','16']
hist.x_title ='Result'
hist.y_title = "Frequency of Result"

hist.add('D6*D6',frequencies)#将一系列值添加到图表中
hist.render_to_file('die_visual.svg')#将图表渲染成svg文件

 二、章节复习

复习知识点:

1.matplotlib库的安装,plot()函数绘制折线图的使用,scatter()函数绘制散点图的使用,以及这两个函数中实参的设置,如颜色,字体大小,线型,线宽,散点大小。图表相对应的xy轴范围,标签,字号,颜色等等,图表标题,图表展示,图表保存等等的设置。使用这些知识点学习了随机漫步项目,想要学习以上知识点的可以关注作者并翻看9.30号学习日记进行源代码获取。

 随机漫步效果图:

 2.pygal 的安装,计数函数的使用,直方图所需数据获取,结果分析并将结果可视化,同样也有直方图的标题,xy轴坐标设置,标签设置等等。使用以上知识点学习了模拟掷骰子的项目,想要学习以上知识点的可以关注作者并翻看10.1号学习日记进行源代码获取。

掷骰子效果图:

如果想了解更多知识点请关注作者,并多多点赞支持,您的观看点赞是对我最大回礼,最大的动力,谢谢。 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值