上一章我们学习了绘制散点图,现在我们来学习如何使用Pygal库绘制直方图,学习这一章,我们就可以把数据以矢量图的图形文件展示出来,可以自动缩放以适应屏幕大小安装pygal库:pip3 install --user pygal
安装cairosvg库:(用于辅助pygal库生成各种图片的格式等)pip3 install --user cairosvg下面直接上代码,当运行后,会在项目路径下生成一个.svg格式的图形文件,可用Chrome等浏览器打开预览:
# coding = utf8
import os
os.path.abspath(".")
from random import randint
import pygal
class Die():
# 表示一个骰子类
def __init__(self, number_sides = 6):
# 骰子默认6面
self.number_sides = number_sides
def roll(self):
# 返回一个位于1和骰子面数之间的随机值
return randint(1, self.number_sides)
if __name__ == "__main__":
# 计算两个6面骰子同时掷100次,值出现的频率
die = Die()
die2 = Die()
results = []
for roll_num in range(100):
result = die.roll() + die2.roll()
results.append(result)
frequences = []
for value in range(2, 13):
frequency = results.count(value)
frequences.append(frequency)
# 对结果进行可视化
hist = pygal.Bar()
hist.title = "Results of rolling one D6 100 times."
hist.x_title = "Result"
hist.x_labels = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
hist.y_title = "Frequency of Result"
hist.add("D6 + D6", frequences)
# hist.add("D7", 1)
hist.render_to_file("./data_visible/pygal/die.svg")
效果图如下:
总结:在本章,我们学习了将数据进行可视化,转换成图表或者图片来直观感受,主要使用matplotlib创建简单图表、使用Pygal创建直方图,在下一章中,我们将从网上下载数据,并继续使用matplotlib和pygal来可视化这些数据
关注 + 收藏 + 点赞哦,谢谢啦~