实验二 分析1996~2015年人口数据各个特征的分布与分散状况
实验二
实验二分析1996~2015年人口数据各个特征的分布与分散状况
1.训练要点
2.需求说明
3.实现步骤
(1)创建3幅画布并添加对应数目的子图。
(2)在每一幅子图上绘制对应的图形。
(3)保存和显示图形。
(4)根据图形,分析我国人口结构变化情况以及变化速率的增减状况。
实验二分析1996~2015年人口数据各个特征的分布与分散状况
1.训练要点
(1)掌握直方图绘制。
(2)掌握饼图绘制。
(3)掌握箱线图绘制。
2.需求说明
通过绘制各年份男女人口数目及城乡人口数目的直方图,男女人口比例及城乡人口比例的饼图可以发现人口结构的变化。而绘制每个特征的箱线图则可以发现不同特征增长或者减少的速率是否变得缓慢。
3.实现步骤
(1)创建3幅画布并添加对应数目的子图。
条形图:
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import FontProperties
data = np.load('population.npz', allow_pickle=True)
values = data['data']
zhuan = values.T
a = []
for i in range(4):for j in range(20):a.append(1996+i*0.25+j*1)
#这些是下标
print(a)
cla = ["nan","nv","cheng","xiang"]
for i in range(4):plt.bar(a[i*20:i*20+19], zhuan[i+2][:-3], label=cla[i],width=0.2)plt.legend()
plt.xlabel('number')
plt.ylabel('value')plt.title("1996-2015 year Proportion of population")plt.show()
虽然这个丑了点,但是力求真实,不容易被老师发现,要改的话,后面加上width就行了
饼状图(华夫饼
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings; warnings.filterwarnings(action='once')
plt.rcParams['font.sans-serif'] = 'SimHei'
large = 22; med = 16; small = 12
params = {'axes.titlesize': large,'legend.fontsize': med,'figure.figsize': (16, 10),'axes.labelsize': med,'axes.titlesize': med,'xtick.labelsize': med,'ytick.labelsize': med,'figure.titlesize': large}
plt.rcParams.update(params)
plt.style.use('seaborn-whitegrid')
sns.set_style("white")#导入华夫饼库中的华夫饼图像类型
from pywaffle import Waffle
#先画一块饼看看吧
data = np.load('population.npz', allow_pickle=True)
values = data['data']
print((values))
x = int(values[0][2]/values[0][1]*50)
#男人比例
y = 50-x
#女人比例
z = int(values[0][4]/values[0][1]*50)
o = 50-z
data = {'man': x, 'women': y, 'city': z, 'country':o} #数据集以字典的形式表示,这里表示三种类别fig = plt.figure(figsize=(8,4), #画布的尺寸values=data, #数据FigureClass=Waffle, #画布的类型:华夫饼图 - 没有横纵坐标,只有格子rows=5, #华夫饼图要有多少行colors=("#E22882", "#983D3D", "#DCB732" , "#123456"), #颜色的数量必须要与数据中的类别数量一致,否则报错legend={'loc': 'upper left' #图例输入loc,可以控制图例所在的位置, 'bbox_to_anchor': (1, 1) #元组},icons='child', icon_size=16,icon_legend=True
)
plt.title("2015 Proportion of population")
plt.show()
x = int(values[19][2]/values[19][1]*50)
#男人比例
y = 50-x
#女人比例
z = int(values[19][4]/values[19][1]*50)
o = 50-z
data = {'man': x, 'women': y, 'city': z, 'country':o}
fig = plt.figure(figsize=(8,4), #画布的尺寸values=data, #数据FigureClass=Waffle, #画布的类型:华夫饼图 - 没有横纵坐标,只有格子rows=5, #华夫饼图要有多少行colors=("#E22882", "#983D3D", "#DCB732" , "#123456"), #颜色的数量必须要与数据中的类别数量一致,否则报错legend={'loc': 'upper left' #图例输入loc,可以控制图例所在的位置, 'bbox_to_anchor': (1, 1) #元组},icons='child', icon_size=16,icon_legend=True
)
plt.title("1996year Proportion of population")
plt.show()
#loc与bbox_to_anchor用法梳理
#plt.scatter([1],[1]
# ,zorder=2 #图层的位置
# ,c="k");
箱线图
也不知道是什么东西,反正函数放上去就能用
箱线图,又称箱型图或盒式图。包含了统计学中的分位数、均值、极值等统计量,不仅能够分析不同类别数据的平均水平差异,还能揭示数据离散程度、异常值、分布差异等。
四分位数(Quartile),即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的得分就是四分位数。
第一四分位数(Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。Q1的位置=(n+1)/4
第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。Q2的位置=(n+1)/2
第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。Q3的位置=3(n+1)/4
n表示项数
第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import FontProperties
data = np.load('population.npz', allow_pickle=True)
values2 = data['data']p3 = plt.figure(figsize=(8, 8))
plt.boxplot(values2[0:20, 1:6], notch=True,labels=['zong', 'man', 'woman', 'city', 'country'], meanline=True,patch_artist = True, boxprops = {'color':'orangered','facecolor':'pink'})
plt.xlabel('classes')
plt.ylabel('people w')
plt.title('1996~2015 Proportion of population')
plt.show()
实验二 分析1996~2015年人口数据各个特征的分布与分散状况相关推荐
- 分析1996~2015年人口数据各个特征的分布与分散情况
分析1996~2015年人口数据各个特征的分布与分散情况 通过绘制各年份男女人口数目及城乡人口的直方图,男女人口比例及城乡人口比例的饼图开一发现人口结构的变化.而绘制每个特征的箱线图则可以发现不同特征 ...
- 分析1996~2015年人口数据特征间的关系并分析1996~2015年人口数据各个特征的分布分散状况
python数据分析与应用 实训1 分析1996~2015年人口数据特征间的关系 并分析1996~2015年人口数据各个特征的分布分散状况 运行环境:jupyter notebook 数据:popul ...
- 数据可视化|实验五 分析1996-2015年人口数据各个特征的分布与分散状况
使用 NumPy 库读取人口数据 使用 numpy 库读取人口数据,分析 1996~2015 年人口数据特征间的关系. %matplotlib inlineimport numpy as npimpo ...
- Python实验二:分析1996~2015年人口数据特征间的关系、分析并绘制鸢尾花数据的散点图和箱线图
人口数据下载链接:populations.npz 鸢尾花数据下载链接:鸢尾花 (下载积分已改为0,请下载) 目录 一.题目表述 1.分析1996~2015年人口数据特征间的关系 2.分析并绘制鸢尾花数 ...
- 实训1 分析1996~2015年人口数据特征间的关系
运行环境:pycharm-community-2019.1.2 使用库:NumPy.matplotlib.pyplot 数据(populations.npz):链接:https://pan.baidu ...
- python人口数据分析_分析1996~2015年人口数据特征间的关系
分析1996~2015年人口数据特征间的关系 人口数据总共拥有6个特征,分别为年末总人口.男性人口.女性人口.城镇人口.乡村人口和年份.查看各个特征随着时间推移发生的变化情况可以分析男女人口比例.城乡 ...
- 应用数据分析第三周 实训1 分析1996~2015年人口数据特征间的关系
文章目录 前言 一.#实训1分析1996年~2015年人口数据特征的关系 实验结果如图所示
- python爬虫---实现项目(二) 分析Ajax请求抓取数据
这次我们来继续深入爬虫数据,有些网页通过请求的html代码不能直接拿到数据,我们所需的数据是通过ajax渲染到页面上去的,这次我们来看看如何分析ajax 我们这次所使用的网络库还是上一节的Reques ...
- 数据可视化|实验二 分析特征间关系
使用 scatter 函数绘制 2000-2017 年各季度的国民生产总值散点图 import matplotlib.pyplot as plt import numpy as np data=np. ...
- 数据可视化|实验三 分析特征内部数据分布于分散状况
绘制 2000 年与 2016 年产业结构饼图 import matplotlib.pyplot as plt import numpy as np data=np.load('./国民经济核算季度数 ...
最新文章
- 【组队学习】【31期】LeetCode 刷题
- 竞赛老陪跑怎么办?来自一位Kaggle比赛失败者的含泪总结
- 《机器学习》周志华-CH1 绪论
- java.util.concurrent介绍
- 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
- 看“意大利文艺复兴艺术展”(3)
- 【软件开发底层知识修炼】十五 快速学习GDB调试二 使用GDB进行断点调试
- MySQL怎么查询课程信息_mysql 查询没有学全所有课程的同学的信息
- 【codevs1004】四子连棋
- 【考试总结贴】工程测量学
- java借助Acrobat实现pdf转word
- FaceBook 扎克伯格的创业史
- android 夜间模式源码,Android Support Library 之 夜间模式
- Android | 教你如何开发一键银行卡绑定功能
- 系统集成管理工程师 第四章:项目管理一般知识
- 调试心得plc做主站(客户端)
- TensorFlow 1.13.安装总结
- php preg_match 漏洞,PHP preg_match()函数信息泄露漏洞
- tcp/ip网络编程--accept()函数返回的套接字
- win7 热点设置命令