Python项目实践之一:生成数据
数据可视化指的是通过可视化表示来探索数据,它与 数据挖掘紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数据集可以是用一行代码就能表示的小型数字列表,也可以是数以吉字节的数据。
一、安装 Visual Studio 和 matplotlib
1、安装Visual Studio
官网:https://dev.windows.com/
1、登录官网,选择Visual Studio
2、根据自己的操作系统选择下载社区免费版即可
2、安装 matplotlib
1、可以通过网站进行安装:https://pypi.org/project/matplotlib/
2、通过pycharm安装
3、在命令窗口导入matplotlib,检测是否成功下载,如下图表示成功导入
二、绘制简单的折线图
使用matplotlib绘制一个简单的折线图,再对其进行定制,以实现信息更丰富的数据可视化。我们将使用平方数序列1、4、9、16和25来绘制这个图表。
创建一个mpl_squares.py,输入以下代码:
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()
运行结果:
1、修改标签文字和线条粗细
在mpl_squares.py中添加代码:
squares = [1, 4, 9, 16, 25]
plt.plot(squares, linewidth=3)
# 设置图表标题,并给坐标轴加上标签
plt.title("平方数曲线", fontproperties="SimHei", fontsize=24)
plt.xlabel("数值", fontproperties="SimSun", fontsize=14)
plt.ylabel("平方数", fontproperties="SimSun", fontsize=14)
# 设置刻度标记的大小
plt.tick_params(axis='both', labelsize=14)
plt.show()
知识点:
1、plt.plot(squares, linewidth=3):将数据绘制成有意义的图形,并设置曲线宽度为3
2、plt.title(“平方数曲线”, fontproperties=“SimHei”, fontsize=24):设置标题属性,第一个参数为标题名称,fontproperties设置字体,fontsize设置字体大小
3、plt.tick_params(axis=‘both’, labelsize=14):设置坐标轴相关属性
2、校正图形
图形更容易阅读后,我们发现没有正确地绘制数据:折线图的终点指出4.0的平方为25,下面来修复这个问题。
修改mpl_squares.py:
import matplotlib.pyplot as plt
input_values = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
plt.plot(input_values, squares, linewidth=3)
# 设置图表标题,并给坐标轴加上标签
知识点:
向 plot() 提供一系列数字时,它假设第一个数据点对应的x坐标值为0,但我们的第一个点对应的x值为1,为改变这种默认行为,我们可以给 plot() 同时提供输入值(input_values)和输出值(squares)
3、使用 scatter() 绘制散点图并设置其样式
创建一个scatter_squares.py,绘制单个点输入以下代码:
import matplotlib.pyplot as plt
plt.scatter(2, 4, s=200)
# 设置图表标题,并给坐标轴加上标签
plt.title("平方数散点图", fontproperties="SimHei", fontsize=24)
plt.xlabel("数值", fontproperties="SimSun", fontsize=14)
plt.ylabel("平方数", fontproperties="SimSun", fontsize=14)
# 设置刻度标记的大小
plt.tick_params(axis='both', labelsize=14)
plt.show()
4、使用 scatter() 绘制一系列点
修改scatter_squares.py:
import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4, 5]
y_values = [1, 4, 9, 16, 25]
plt.scatter(x_values, y_values, s=200)
# 设置图表标题,并给坐标轴加上标签
5、删除数据点的轮廓
matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。要删除数据点的轮廓,可在调用 scatter() 时传递实参 edgecolor=‘none’ :
plt.scatter(x_values, y_values, edgecolor='none', s=40)
6、自定义颜色
要修改数据点的颜色,可向 scatter() 传递参数 c ,并将其设置为要使用的颜色的名称,如下所示:
plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40)
7、使用颜色映射
颜色映射(colormap)是一系列颜色,它们从起始颜色渐变到结束颜色。在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值。
下面演示了如何根据每个点的y值来设置其颜色:
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues,edgecolor='none', s=40)
8、自动保存图表
要让程序自动将图表保存到文件中,可将对 plt.show() 的调用替换为对 plt.savefig() 的调用:
plt.savefig('squares_plot.png', bbox_inches='tight')