Python实验二:分析1996~2015年人口数据特征间的关系、分析并绘制鸢尾花数据的散点图和箱线图
人口数据下载链接:populations.npz鸢尾花数据下载链接:鸢尾花目录一、题目表述1.分析1996~2015年人口数据特征间的关系2.分析并绘制鸢尾花数据的散点图和箱线图,要求如下:二、实验代码1.分析1996~2015年人口数据特征间的关系2.分析并绘制鸢尾花数据的散点图和箱线图,要求如下:一、题目表述1.分析1996~2015年人口数据特征间的关系人口数据总共拥有6个特征,分别为年末总
·
人口数据下载链接:populations.npz
鸢尾花数据下载链接:鸢尾花
(下载积分已改为0,请下载)
目录
一、题目表述
1.分析1996~2015年人口数据特征间的关系
人口数据总共拥有6个特征,分别为年末总人口、男性人口、女性人口、城镇人口、乡村人口和年份,查看各个特征随着时间推移发生的变化情况可以分析出未来男女人口比例、城乡人口变化方向。要求如下:
(1)使用NumPy读取人口数据
(2)创建画布,并添加子图
(3)在两个子图上分别绘制散点图和折线图
(4)保存,显示图片
(5)分析未来人口变化趋势
2.分析并绘制鸢尾花数据的散点图和箱线图,要求如下:
(1)读取鸢尾花数据集,使用循环和子图绘制各特征之间的散点图
(2)绘制各个特征的箱线图,查看是否存在异常值
二、实验代码
1.分析1996~2015年人口数据特征间的关系
'''
人口数据总共拥有6个特征,分别为年末总人口、男性人口、女性人口、城镇人口、乡村人口和年份,查看各个特征随着时间推移发生的变化情况可以分析出未来男女人口比例、城乡人口变化方向。要求如下:
(1)使用NumPy读取人口数据
(2)创建画布,并添加子图
(3)在两个子图上分别绘制散点图和折线图
(4)保存,显示图片
(5)分析未来人口变化趋势
'''
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
data = np.load('H:\\populations.npz',allow_pickle=True)
name = data['feature_names']
values = data['data']
p1 = plt.figure(figsize=(12,12))
#第一个图
ax1 = p1.add_subplot(2,1,1)
plt.scatter(values[0:20,0], values[0:20,1], marker='o')
plt.scatter(values[0:20,0], values[0:20,2], marker='D')
plt.scatter(values[0:20,0], values[0:20,3], marker='v')
plt.scatter(values[0:20,0], values[0:20,4], marker='*')
plt.scatter(values[0:20,0], values[0:20,5], marker=',')
plt.ylabel('人口数据(万)')
plt.xlabel('年份')
plt.xticks(range(0,20),values[range(0,20),0],rotation=45)
plt.legend(['年末总人口', '男性人口', '女性人口', '城镇人口', '乡村人口'])
plt.title("1996~2015年人口数据特征散点图")
#第二个图
ax2 = p1.add_subplot(2,1,2)
plt.plot(values[0:20,0], values[0:20,1], marker='o')
plt.plot(values[0:20,0], values[0:20,2], marker='D')
plt.plot(values[0:20,0], values[0:20,3], marker='v')
plt.plot(values[0:20,0], values[0:20,4], marker='*')
plt.plot(values[0:20,0], values[0:20,5], marker='<')
plt.ylabel('人口数据(万)')
plt.xlabel('年份')
plt.xticks(range(0,20),values[range(0,20),0],rotation=45)
plt.legend(['年末总人口', '男性人口', '女性人口', '城镇人口', '乡村人口'])
plt.title("1996~2015年人口数据特征折线图")
plt.savefig('H:\\1996~2015年人口数据特征散点图_合.png')
2.分析并绘制鸢尾花数据的散点图和箱线图,要求如下:
##(1)读取鸢尾花数据集,使用循环和子图绘制各特征之间的散点图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
iris_data = pd.read_csv('H:\\datasets-uci-iris.csv',header=None)
iris = iris_data.iloc[1:,:]
iris = np.array(iris)
name = iris_data.iloc[0,:]
name = np.array(name)
p = plt.figure(figsize=(50, 50))
plt.title('iris散点图矩阵')
for i in range(4):
for j in range(4):
p.add_subplot(4, 4, (i * 4) + (j + 1))
plt.scatter(iris[:, i], iris[:, j])
plt.xlabel(name[i])
plt.ylabel(name[j])
plt.savefig('H:\\鸢尾花数据各特征的散点图_合.png')
plt.show()
##(2)绘制各个特征的箱线图,查看是否存在异常值
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
iris_data = pd.read_csv('H:\\datasets-uci-iris.csv',header=None)
iris = iris_data.iloc[1:,0:4]
iris = np.array(iris).astype(float)#设定格式
name = iris_data.iloc[0,0:4]
name = np.array(name)
p1 = plt.figure(figsize=(12,12))
#第一个图
ax1 = p1.add_subplot(2,2,1)
label = ['Iris-setosa','Iris-versicolor','Iris-virginica']
gdp = (list(iris[0:50,0]), list(iris[50:100,0]), list(iris[100:150,0]))
plt.boxplot(gdp,notch = True, labels = label, meanline = True)
plt.title('特征值sepal-length的箱线图')
#第二个图
ax2 = p1.add_subplot(2,2,2)
label = ['Iris-setosa','Iris-versicolor','Iris-virginica']
gdp = (list(iris[0:50,1]), list(iris[50:100,1]), list(iris[100:150,1]))
plt.boxplot(gdp,notch = True, labels = label, meanline = True)
plt.title('特征值sepal-width的箱线图')
#第三个图
ax3 = p1.add_subplot(2,2,3)
label = ['Iris-setosa','Iris-versicolor','Iris-virginica']
gdp = (list(iris[0:50,2]), list(iris[50:100,2]), list(iris[100:150,2]))
plt.boxplot(gdp,notch = True, labels = label, meanline = True)
plt.title('特征值petal-length的箱线图')
#第四个图
ax4 = p1.add_subplot(2,2,4)
label = ['Iris-setosa','Iris-versicolor','Iris-virginica']
gdp = (list(iris[0:50,3]), list(iris[50:100,3]), list(iris[100:150,3]))
plt.boxplot(gdp,notch = True, labels = label, meanline = True)
plt.title('特征值petal-length的箱线图')
plt.savefig('H:\\鸢尾花数据各特征的箱线图_合.png')
plt.show()
更多推荐
已为社区贡献1条内容
所有评论(0)