Python3——数据可视化模块Pygal与模拟掷骰子

简介: Pygal:Python可视化包,生成可缩放的矢量图形文件Pygal安装PyCharm添加Pygal库模拟掷骰子die.

Pygal:Python可视化包,生成可缩放的矢量图形文件

Pygal安装

PyCharm添加Pygal库


模拟掷骰子

die.py
from random import randint
#定义一个筛子的类
class Die():
    def __init__(self,num_sides=6): #筛子默认为6面
        self.num_sides=num_sides
    def roll(self):
        #返回一个位于1和筛子面数之间的随机值
        return randint(1,self.num_sides)
die_virtual.py 掷一个6面骰子
from die import Die
#创建一个D6
die=Die()
results=[]
for roll_num in range(1000): #将每次投掷结果存储在列表中
    result=die.roll()
    results.append(result)
#分析结果
frequencies=[]
for value in range(1,die.num_sides+1):
    frequency=results.count(value)
    frequencies.append(frequency)
#绘制直方图,对结果进行可视化
import pygal
hist=pygal.Bar()   #创建一个条形图实例
hist._title="Result of rolling one D6 1000 times."
hist.x_labels=[1,2,3,4,5,6]
hist._x_title="Result"
hist._y_title="Frequency of Result"
hist.add('D6',frequencies)  #将一系列值添加到图表中
hist.render_to_file('die_visual.svg')#将这个图标渲染为一个SVG文件
die_virtual.py 掷两个6面骰子
from die import Die
#创建两个D6
die1=Die()
die2=Die()
results=[]
for roll_num in range(1000): #将每次投掷结果存储在列表中
    result=die1.roll()+die2.roll()
    results.append(result)
#分析结果
frequencies=[]
for value in range(2,die1.num_sides+die2.num_sides+1):
    frequency=results.count(value)
    frequencies.append(frequency)
#绘制直方图,对结果进行可视化
import pygal
hist=pygal.Bar()   #创建一个条形图实例
hist._title="Result of rolling one D6 1000 times."
hist.x_labels=[2,3,4,5,6,7,8,9,10,11,12]
hist._x_title="Result"
hist._y_title="Frequency of Result"
hist.add('D6,D6',frequencies)  #将一系列值添加到图表中
hist.render_to_file('die_visual.svg')#将这个图标渲染为一个SVG文件
die_virtual.py 掷一个6面骰子和一个10面骰子
from die import Die
#创建一个D6和一个D10
die1=Die()
die2=Die(10)
results=[]
for roll_num in range(1000): #将每次投掷结果存储在列表中
    result=die1.roll()+die2.roll()
    results.append(result)
#分析结果
frequencies=[]
for value in range(2,die1.num_sides+die2.num_sides+1):
    frequency=results.count(value)
    frequencies.append(frequency)
#绘制直方图,对结果进行可视化
import pygal
hist=pygal.Bar()   #创建一个条形图实例
hist._title="Result of rolling one D6 1000 times."
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,D10',frequencies)  #将一系列值添加到图表中
hist.render_to_file('die_visual.svg')#将这个图标渲染为一个SVG文件






相关文章
|
15天前
|
数据可视化 数据挖掘 定位技术
Python和Geopandas进行地理数据可视化
【10月更文挑战第22天】本文介绍了如何使用Python和Geopandas进行地理数据可视化和分析,涵盖从准备工作、加载数据、数据探索与处理、地理数据可视化、空间分析与查询到交互式地理数据可视化等内容。通过丰富的代码示例和案例演示,帮助读者掌握地理数据分析的基本方法,为实际应用提供支持。
57 19
|
10天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
26 5
|
10天前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
20天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
23天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
69 5
|
26天前
|
数据可视化 数据挖掘 Python
使用Python进行数据可视化:探索与实践
【10月更文挑战第21天】本文旨在通过Python编程,介绍如何利用数据可视化技术来揭示数据背后的信息和趋势。我们将从基础的图表创建开始,逐步深入到高级可视化技巧,包括交互式图表和动态展示。文章将引导读者理解不同图表类型适用的场景,并教授如何使用流行的库如Matplotlib和Seaborn来制作美观且具有洞察力的可视化作品。
47 7
|
25天前
|
数据可视化 定位技术 Python
使用Python进行数据可视化
【10月更文挑战第22天】在这篇文章中,我们将深入探讨如何使用Python进行数据可视化。我们将从基础的图表开始,然后逐步进入更复杂的可视化技术。我们将通过实例代码来展示如何实现这些可视化,以便读者能够更好地理解和应用这些技术。
23 5
|
27天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
19 7
|
27天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
18 6
|
24天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
18 1
下一篇
无影云桌面