欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python从入门到实践-项目实战二数据可视化-生成数据

程序员文章站 2022-03-22 16:56:51
...

项目实战二数据可视化

过去已逝,未来可追

环境:Windows10,python,pycharm
库: matplotlib

第十五章生成数据

plot与scatter的区别

plot的用法

import matplotlib.pyplot as plt

input_values = [1, 2, 3, 4]
squares = [9, 4, 25, 16]
# 设定绘制的线宽# 同时通过输入输出值校正图形
plt.plot(input_values, squares)

plt.show()

运行结果:
python从入门到实践-项目实战二数据可视化-生成数据

scatter的用法

x_values = list(range(1, 6))
y_values = [x**2 for x in x_values]

# 绘制一系列点,在指定位置
plt.scatter(x_values, y_values, s=100)

# 设置标题,给坐标轴加上标签
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)

# 设置刻度标记的大小
plt.tick_params(axis='both', which='major', labelsize=14)

plt.show()

运行结果:

python从入门到实践-项目实战二数据可视化-生成数据

综合

这样就清楚了,plot函数绘制点之后会用线连起来,而scatter只是单纯的绘制点而已

使用Pygal模拟掷色子

使用python可视化包Pygal来生成可缩放的矢量图形文件
下载Pygal

python -m pip install --user pygal==1.7

pygal官方网站上面有大量demo,可以来学习研究。

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 = "Results 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('img/die_visual.svg')

运行结果:
python从入门到实践-项目实战二数据可视化-生成数据