Python之绘制直方图

Python之绘制直方图

工具:
Pycharm
Pycharm下载安装
说明:
1:要用到Pygal,所以在windows下,通过命令提示窗:python -m pip install --user pygal==1.7来安装
2:运行代码是遇到如下图错误
Python之绘制直方图_第1张图片

通过查看是博主的pygal版本太低啦,所以卸载又重写导入
Python之绘制直方图_第2张图片

重新安装:pygal
Python之绘制直方图_第3张图片
(这是博主在实现目的的过程中遇到的问题,以此借鉴)
然后运行正常如下步骤:


目的:利用python生成随机数来实现直方图
文件夹:zhi_fang_tu
Python之绘制直方图_第4张图片

1:步骤一
a: 文件die.py
代码:

# coding=utf-8
"""
@author: jiajiknag
程序功能:  创建表示一个筛子的类
"""

from random import randint
class Die():
    """表示一个筛子的类"""

    def __init__(self, num_sides=6):
        """骰子默认的六个面"""
        self.num_sides = num_sides

    def roll(self):
        """返回一个位于1和骰子面数之间的随机值"""
        return randint(1, self.num_sides)

b:文件die_die_visual.py

# coding=utf-8
"""
@author: jiajiknag
程序功能:  测试用随机生成的的数字,来实现一个直方图
"""
import pygal
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)

# 对结果进行可视化
hist = pygal.Bar()
# 标题
hist.title = "滚动一个六面筛子1000次的结果."
# x 坐标
hist.x_labels = ['1', '2', '3', '4', '5', '6']
# x 坐标标题
hist.x_title = "结果"
# y 坐标标题
hist.y_title = "频率的结果"
# 使用add()将一系列值添加到图表中
hist.add('D6', frequencies)
# 将图表渲染为svg文件
hist.render_to_file('die_visual.svg')

2:步骤二
结果:
Python之绘制直方图_第5张图片

你可能感兴趣的:(python)