当前位置:   article > 正文

数据分析--matplotlib.pyplot--散点图、折线图、直方图、饼图_31. matplotib中的pyplot内置函数, 柱状图是, 饼图是 方图是 折线图是 散点图是

31. matplotib中的pyplot内置函数, 柱状图是, 饼图是 方图是 折线图是 散点图是

散点图

散点图(scatter diagram)又称为散点分布图,是以一个特征为横坐标,另一个特征为纵坐标,利用坐标点(散点)的分布形态反映特征间的统计关系的一种图形。
值是由点在图表中的位置表示,类别是由图表中的不同标记表示,通常用于比较跨类别的数据。
散点图:主要用于分析特性间的相关关系
scatter 函数:
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, alpha=None, **kwargs)
常用参数及说明如下表所示:
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

#显示中文
#注意必须在差UN关键画布之前声明
plt.rcParams['font.sans-serif'] = 'SimHei'
#设置正常显示符号,解决保存图像是符号’-‘显示方块
plt.rcParams['axes.unicode_minus'] = False

#1.数据加载
data = np.load('国民经济核算季度数据.npz')
columns = data['columns']
values = data['values']
#将数据显示完整
np.set_printoptions(threshold=np.NaN)

#2.可视化
plt.figure(figsize=(8,7))

#设置
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')

plt.title('散点图')

plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation='30')
#散点图
plt.scatter(values[:,0],values[:,2],marker='o')

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

在这里插入图片描述

需求: 使用不同颜色、不同形状的点,绘制2000~2017年间各产业各季度国民生产总值 、的散点图


import matplotlib.pyplot as plt
import numpy as np

#显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
#设置正常显示符号,解决保存图像是符号‘-’显示方块
plt.rcParams['axes.unicode_minus'] = False

#1.数据加载
data = np.load('国民经济核算季度数据.npz')
columns = data['columns']
print(columns)

values = data['values']
print(values)

plt.figure()

plt.scatter(values[:,0],values[:,3],c='red',marker='D')
plt.scatter(values[:,0],values[:,4],c='blue',marker='o')
plt.scatter(values[:,0],values[:,5],c='yellow',marker='v')

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述

折线图

折线图(line chart)是一种将数据点按照顺序连接起来的图形。可以看作是将散点图,按照 x 轴坐标顺序连接起来的图形。
折线图的主要功能是查看因变量y随着自变量x改变的趋势,最适合用于显示随时间(根据常用比例设置)而变化的连续数据。同时还可以看出数量的差异,增长趋势的变化。
折线图:主要分析是自变量与因变量特性间趋势关系

plot 函数:
matplotlib.pyplot.plot(*args, **kwargs)
plot 函数在官方文档的语法中只要求填入不定长参数,实际可以填入的主要参数主要如
下:
在这里插入图片描述
color 参数的 8 种常用颜色的缩写:
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

#显示中文
#注意必须在差UN关键画布之前声明
plt.rcParams['font.sans-serif'] = 'SimHei'

#设置正常显示符号,解决保存图像是符号’-‘显示方块
plt.rcParams['axes.unicode_minus'] = False

#1.数据加载
data = np.load('国民经济核算季度数据.npz')
columns = data['columns']
values = data['values']

#将数据显示完整
np.set_printoptions(threshold=np.NaN)
print(columns)
print(values)

plt.title('折线图')

#折线图
# 格式:plt.plot(x,y,color='',linestyle='',marker='',alpha='')
#参数简写:'颜色-点的形状-线的样式'
plt.plot(values[:,0],values[:,2],'ro--')

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述
在这里插入图片描述

需求:用折线图来绘制各个季度各产业的数据

import matplotlib.pyplot as plt
import numpy as np

#显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
#设置正常显示符号,解决保存图像是符号‘-’显示方块
plt.rcParams['axes.unicode_minus'] = False

#1.数据加载
data = np.load('国民经济核算季度数据.npz')
columns = data['columns']
print(columns)

values = data['values']
print(values)

plt.figure()

#参数简写:'颜色点的形状线的样式'
plt.plot(values[:,0],values[:,3],'bs-')
plt.plot(values[:,0],values[:,4],'ro--')
plt.plot(values[:,0],values[:,5],'g*-.')

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述

直方图

直方图(Histogram)又称质量分布图,是统计报告图的一种,由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据所属类别,纵轴表示数量或者占比。
用直方图可以比较直观地看出产品质量特性的分布状态,便于判断其总体质量分布情况。直方图可以发现分布表无法发现的数据模式、样本的频率分布和总体的分布。
bar 函数:
matplotlib.pyplot.bar(left,height,width = 0.8,bottom = None,hold = None,data = None,** kwargs )
常用参数及说明如下表所示:
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

#显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
#设置正常显示符号,解决保存图像是符号‘-’显示方块
plt.rcParams['axes.unicode_minus'] = False

#1.数据加载
data = np.load('国民经济核算季度数据.npz')
columns = data['columns']
print(columns)

values = data['values']
print(values)

#刻度标签
label =['第一产业','第二产业','第三产业']
#eg:拿出2017年第一季度数据
value = values[-1,3:6]

#可视化
plt.figure()

plt.xticks(range(3),label)

plt.title('2017年第一季度各产业国民生产总值直方图')

plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')

plt.bar(range(3),value,width=0.5)

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

在这里插入图片描述

饼图

饼图(Pie Graph)是将各项的大小与各项总和的比例显示在一张“饼”中,以“饼”的大小来确定每一项的占比。
饼图可以比较清楚地反映出部分与部分、部分与整体之间的比例关系,易于显示每组数据相对于总数的大小,而且显现方式直观。
pie 函数:
matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, … )
常用参数及说明如下表所示:

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

#显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
#设置正常显示符号,解决保存图像是符号‘-’显示方块
plt.rcParams['axes.unicode_minus'] = False

#1.数据加载
data = np.load('国民经济核算季度数据.npz')
columns = data['columns']
print(columns)

values = data['values']
print(values)

#数据
x = values[-1,3:6]

#可视化
plt.figure()

#常用设置
plt.title('2017年第一季度各产业国民生产总值饼图')

#饼图
labels = ['第一产业','第二产业','第三产业']

plt.pie(x,explode=[0.1,0.01,0.01],labels=labels,autopct='%.1f%%')

plt.savefig('img/饼图.png')

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

在这里插入图片描述

通过直方图分析 2000 年第一季度和 2017 年第一季度之间的三大产业的国民生产总值,可以发现各产业绝对数值之间的关系,并通过对比发现产业结构的变化。

# 加载数据
data = np.load('国民经济核算季度数据.npz')

columns = data['columns']
values = data['values']

#刻度标签
lable = ['第一产业','第二产业','第三产业']

value = values[0,3:6]

#画布
F = plt.figure(figsize=(10,10),dpi=100)

#创建子视图
F.add_subplot(2,2,1)

plt.xticks(range(3),lable)

plt.title('2000年第一季度各产业国民生产总值直方图')

# 设置
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')

plt.bar(range(3),value,width=0.5)


#第二张图
#创建子视图
F.add_subplot(2,2,2)

value2 = values[-1,3:6]

plt.xticks(range(3),lable)

plt.title('2017年第一季度各产业国民生产总值直方图')

# 设置
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')

plt.bar(range(3),value2,width=0.5)



#第三张图
#创建子视图
F.add_subplot(2,2,3)

value3 = values[0,6:15]

lable3 = ['农林', '工业', '建筑', '批发', '交通', '餐饮', '金融业', '房地产', '其他']

plt.xticks(range(9),lable3)

plt.title('2000年第一季度各产业国民生产总值直方图')

# 设置
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')

plt.bar(range(9),value3,width=0.5)


#第四张图
#创建子视图
F.add_subplot(2,2,4)

value4 = values[-1,6:15]

lable3 = ['农林', '工业', '建筑', '批发', '交通', '餐饮', '金融业', '房地产', '其他']

plt.xticks(range(9),lable3)

plt.title('2017年第一季度各产业国民生产总值直方图')

# 设置
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')

plt.bar(range(9),value4,width=0.5)
#保存图片
# plt.savefig('home.png')

# plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86

在这里插入图片描述

通过分析 2000 年与 2017 年不同的产业和行业在国民生产总值中的占比,可以发现我国
产业结构变化和行业变迁。

#p1
F = plt.figure(figsize=(12, 9))
F.add_subplot(2, 2, 1)
plt.title('2000年第一季度各产业国民生产总值饼图')
x = values[0, 3:6]
plt.pie(x, explode=(0.02, 0.01, 0.01), labels=['第一产业', '第二产业', '第三产业'], autopct='%.1f%%')
#p2
F.add_subplot(2, 2, 2)
plt.title('2017年第一季度各产业国民生产总值饼图')
x = values[-1, 3:6]
plt.pie(x, explode=(0.02, 0.01, 0.01), labels=['第一产业', '第二产业', '第三产业'], autopct='%.1f%%')
#p3
F.add_subplot(2, 2, 3)
plt.title('2000年第一季度各行业国民生产总值饼图')
x = values[0, 6:15]
plt.pie(x, explode=(0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,),
        labels=['农业', '工业', '建筑', '批发', '交通', '餐饮', '金融', '房地产', '其他'], autopct='%.1f%%')
#p4
F.add_subplot(2, 2, 4)
plt.title('2017年第一季度各行业国民生产总值饼图')
x = values[-1, 6:15]
plt.pie(x, explode=(0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,),
        labels=['农业', '工业', '建筑', '批发', '交通', '餐饮', '金融', '房地产', '其他'], autopct='%.1f%%')


plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/601330
推荐阅读
相关标签
  

闽ICP备14008679号