您的位置:

实例展示:使用Python进行数据可视化

在当今信息爆炸的时代,数据可视化是十分重要的,它可以通过图表、图像等方式将数据呈现出来,快速直观地让人理解复杂的数据。Python是一种流行的编程语言,它有许多强大的数据可视化工具,比如Matplotlib、Seaborn等。本文将以实例展示的方式,介绍如何使用Python进行数据可视化。

一、选取合适的数据集

首先,在进行数据可视化之前,我们需要选取具有代表性的数据集。在这里我们以Iris(鸢尾花)数据集作为例子,这个数据集由三种鸢尾花(山鸢尾、变色鸢尾和维吉尼亚鸢尾)的50个样本组成,每种鸢尾花都有4种特征(花萼长度、花萼宽度、花瓣长度和花瓣宽度),总共150个样本。

# 导入Iris数据集
from sklearn.datasets import load_iris
iris = load_iris()
# 查看数据集中的样本数量和特征数量
print("数据集中的样本数量:", iris.data.shape[0])
print("数据集中的特征数量:", iris.data.shape[1])
输出结果为:
数据集中的样本数量: 150
数据集中的特征数量: 4 通过上述代码,我们可以看出Iris数据集中有150个样本和4个特征。

二、绘制散点图

散点图是数据可视化中最常见的一种类型,它可以用来显示两个变量之间的关系。在这里,我们将使用Matplotlib库绘制Iris数据集中花萼长度和花萼宽度的散点图。其中,不同种类的鸢尾花用不同的颜色表示。

# 导入绘图库
import matplotlib.pyplot as plt
# 绘制散点图
plt.figure()
plt.scatter(iris.data[:, 0], iris.data[:, 1], c=iris.target)
plt.xlabel('花萼长度')
plt.ylabel('花萼宽度')
plt.show()
代码中的第1行导入了Matplotlib绘图库,第3、4行绘制了散点图,其中iris.data[:, 0]代表取出Iris数据集中的花萼长度,iris.data[:, 1]代表取出花萼宽度,c=iris.target表示给不同种类的鸢尾花分配不同的颜色,最后一行plt.show()将图表显示出来。 输出结果为:
通过上述代码,我们可以看出花萼长度和花萼宽度之间有一定的正相关关系,同时可以通过不同的颜色看出不同种类的鸢尾花。

三、绘制条形图

条形图是用来比较不同类别之间数量差异的有效方式。在这里,我们将使用Seaborn库绘制Iris数据集中各种鸢尾花的花瓣长度条形图。

# 导入绘图库
import seaborn as sns
# 将Iris数据集转换为DataFrame格式
iris_df = pd.DataFrame(iris.data, columns=iris.feature_names)
iris_df['target'] = iris.target
# 绘制花瓣长度的条形图
sns.barplot(x='target', y='petal length (cm)', data=iris_df)
plt.ylabel('花瓣长度')
plt.xlabel('鸢尾花种类')
plt.show()
代码中的第1、2行导入了Seaborn库,第4、5行将Iris数据集转换为DataFrame格式,第7行绘制花瓣长度的条形图,其中x='target'代表不同种类的鸢尾花,y='petal length (cm)'代表花瓣长度,data=iris_df代表使用iris_df数据集进行绘图,最后两行设置横纵坐标轴标签,plt.show()将图表显示出来。 输出结果为:
通过上述代码,我们可以看出三种鸢尾花的花瓣长度相差较大,同时可以看出各种鸢尾花的花瓣长度大小排列。

四、绘制饼图

饼图是一种用于显示百分比的图表类型,它将数据分成多个部分,每个部分用一个扇形来表示。在这里,我们将使用Matplotlib库绘制Iris数据集中各种鸢尾花的分布情况饼图。

# 导入绘图库
import matplotlib.pyplot as plt
# 获取各种鸢尾花的数量
counts = np.bincount(iris.target)
# 绘制饼图
plt.pie(counts, labels=iris.target_names, autopct='%1.1f%%')
plt.title('鸢尾花分布情况')
plt.show()
代码中的第1行导入了Matplotlib绘图库,第3行获取各种鸢尾花的数量,第6行绘制饼图,其中counts代表各种鸢尾花的数量,labels=iris.target_names代表饼图的标签,autopct='%1.1f%%'表示将每一块扇形的数值保留一位小数,并以百分比形式表示,最后两行设置标题和将图表显示出来。 输出结果为:
通过上述代码,我们可以看出三种鸢尾花的数量分布情况,颜色越深说明鸢尾花的种类数量越多。

五、绘制箱线图

箱线图是一种用于显示一个或多个数据集分布情况的有效方式。在这里,我们将使用Seaborn库绘制Iris数据集中花瓣长度和花瓣宽度的箱线图。

# 导入绘图库
import seaborn as sns
# 将Iris数据集转换为DataFrame格式
iris_df = pd.DataFrame(iris.data, columns=iris.feature_names)
iris_df['target'] = iris.target
# 绘制花瓣长度和花瓣宽度的箱线图
sns.boxplot(x='target', y='petal length (cm)', data=iris_df)
sns.boxplot(x='target', y='petal width (cm)', data=iris_df)
plt.ylabel('特征值')
plt.xlabel('鸢尾花种类')
plt.show()
代码中的第1、2行导入了Seaborn库,第4、5行将Iris数据集转换为DataFrame格式,第7、8行绘制花瓣长度和花瓣宽度的箱线图,其中x='target'代表不同种类的鸢尾花,y='petal length (cm)'和y='petal width (cm)'代表花瓣长度和花瓣宽度,data=iris_df代表使用iris_df数据集进行绘图,最后两行设置横纵坐标轴标签和将图表显示出来。 输出结果为:
通过上述代码,我们可以看出三种鸢尾花的花瓣长度和花瓣宽度的分布情况。对于每种花,箱子体内的中位数代表该变量的中心趋势,箱子体内的上下四分位数代表中间50%数据的范围,黑色横线上的点代表离群点。

总结:

本文介绍了四种常用的数据可视化方法,并使用Iris数据集为例进行了实例展示。在选取数据集时,需要选择代表性强的数据集,否则可视化的效果会大打折扣。在绘制图形时,需要掌握相应的绘图库(如Matplotlib、Seaborn等)的功能和使用方法。数据可视化是非常有用的,通过对数据的可视化呈现,可以快速直观地呈现复杂的数据,帮助人们更好地理解数据。