人口数据下载链接:populations.npz

鸢尾花数据下载链接:鸢尾花

(下载积分已改为0,请下载)

目录

一、题目表述

1.分析1996~2015年人口数据特征间的关系

2.分析并绘制鸢尾花数据的散点图和箱线图,要求如下:

二、实验代码

1.分析1996~2015年人口数据特征间的关系

2.分析并绘制鸢尾花数据的散点图和箱线图,要求如下:


一、题目表述

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()

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐