赞
踩
散点图(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()
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()
折线图(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()
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()
直方图(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()
饼图(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()
通过直方图分析 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()
通过分析 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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。