函数名称 | 函数作用 |
---|---|
plt.figure | 创建一个空白画布,可以指定画布大小、像素 |
figure.add_subplot | 创建并选中子图,可以指定子图的行数、列数和选中图片的编号 |
函数名称 | 函数作用 |
---|---|
plt.title | 在当前图形中添加标题,可以指定标题的名称、位置、颜色、字体大小等参数 |
plt.xlabel | 在当前图形中添加x轴名称,可以指定位置、颜色、字体大小等参数 |
plt.ylabel | 在当前图形中添加y轴名称,可以指定位置、颜色、字体大小等参数 |
plt.xlim | 指定当前图形x轴的范围,只能确定一个数值区间,而无法使用字符串标识 |
plt.ylim | 指定当前图形y轴的范围,只能确定一个数值区间,而无法使用字符串标识 |
plt.xticks | 指定x轴刻度的数目与取值 |
plt.yticks | 指定y轴刻度的数目与取值 |
plt.legend | 指定当前图形的图例,可以指定图例的大小、位置、标签 |
函数名称 | 函数作用 |
---|---|
plt.savefig | 保存绘制的图形,可以指定图形的分辨率、边缘的颜色等参数g |
plt.show | 在本机显示图形 |
# 基础绘图语法
import numpy as np
import matplotlib.pyplot as plt
data=np.arange(0,1.1,0.01)
plt.title('lines') # 添加标题
plt.xlabel('x') # 添加x轴名称
plt.ylabel('y') # 添加y轴名称
plt.xlim((0,1)) # 确定x轴范围
plt.ylim((0,1)) # 确定y轴范围
plt.xticks([0,0.2,0.4,0.6,0.8,1]) # 确定x轴刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1]) # 确定y轴刻度
plt.plot(data,data**2) # 添加y=x^2曲线
plt.plot(data,data**4) # 添加y=x^4曲线
plt.legend(['y=x^2','y=x^4'])
plt.savefig('./y=x^2.png')
plt.show()
# 包含子图绘制的基础语法
rad=np.arange(0,np.pi*2,0.01)
# 第一幅子图
p1=plt.figure(figsize=(8,6),dpi=80) # 确定画布大小
ax1=p1.add_subplot(2,1,1) # 创建一个2行1列的子图,并开始绘制第一幅
plt.title('lines') # 添加标题
plt.xlabel('x') # 添加x轴名称
plt.ylabel('y') # 添加y轴名称
plt.xlim((0,1)) # 确定x轴范围
plt.ylim((0,1)) # 确定y轴范围
plt.xticks([0,0.2,0.4,0.6,0.8,1]) # 确定x轴刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1]) # 确定y轴刻度
plt.plot(rad,rad**2) # 添加y=x^2曲线
plt.plot(rad,rad**4) # 添加y=x^4曲线
plt.legend(['y=x^2','y=x^4'])
# 第二幅子图
ax2=p1.add_subplot(2,1,2)
plt.title('sin/cos') # 添加标题
plt.xlabel('rad') # 添加x轴名称
plt.ylabel('value') # 添加y轴名称
plt.xlim((0,np.pi*2)) # 确定x轴范围
plt.ylim((-1,1)) # 确定y轴范围
plt.xticks([0,np.pi/2,np.pi,np.pi*1.5,np.pi*2]) # 确定x轴刻度
plt.yticks([-1,-0.5,0,0.5,1]) # 确定y轴刻度
plt.plot(rad,np.sin(rad)) # 添加sin曲线
plt.plot(rad,np.cos(rad)) # 添加cos曲线
plt.legend(['sin','cos'])
plt.savefig('./sincos.png')
plt.show()
线条常用的rc参数
rc参数名称 | 解释 | 取值 |
---|---|---|
lines.linewidth | 线条宽度 | 取0~10之间的数值,默认为1.5 |
lines.linestyle | 线条样式 | 可取“-” “–” “-.” “:” 四种。默认为“-” |
lines.marker | 线条上点的形状 | 可取“o” “D” “h” “.” “,” “S”等20种默认为None |
lines.markersize | 点的大小 | 取0~10之间的数值,默认为1 |
lines.linestyle参数取值及意义
lines.linestyle取值 | 意义 | lines.linestyle取值 | 意义 |
---|---|---|---|
‘-’ | 实线 | ‘-.’ | 点线 |
‘–’ | 长虚线 | ‘:’ | 短虚线 |
lines.marker参数取值及意义
lines.marker取值 | 意义 | lines.marker取值 | 意义 |
---|---|---|---|
‘o’ | 圆圈 | ‘.’ | 点 |
‘D’ | 菱形 | ‘s’ | 正方形 |
‘h’ | 六边形1 | ‘*’ | 星号 |
‘H’ | 六边形2 | ‘d’ | 小菱形 |
‘-’ | 水平线 | ‘v’ | 一角朝下的三角形 |
‘8’ | 八边形 | ‘<’ | 一角朝左的三角形 |
‘p’ | 五边形 | ‘>’ | 一角朝右的三角形 |
‘,’ | 像素 | ‘^’ | 一角朝上的三角形 |
‘+’ | 加号 | ‘’ | 竖线 |
‘None’ | 无 | ‘x’ | X |
# 调节线条的rc参数
# 原图
x = np.linspace(0,4*np.pi) # 生成x轴参数
y = np.sin(x) # 生成y轴参数
plt.plot(x,y,label="$sin(s)$") # 绘制sin曲线图
plt.title('sin')
plt.savefig('./默认sin曲线.png')
plt.show()
# 修改rc参数后的图
plt.rcParams['lines.linestyle'] = '-.'
plt.rcParams['lines.linewidth'] = 3
plt.plot(x,y,label="$sin(x)$") # 绘制三角函数
plt.title('sin')
plt.savefig('./修改rc参数后sin曲线.png')
plt.show()
# 调节字体的rc参数
# 无法显示中文标题
plt.plot(x,y,label="$sin(x)$") # 绘制三角函数
plt.title('sin曲线')
plt.savefig('./无法显示中文标题的sin曲线.png')
plt.show()
# 设置rc参数显示中文标题
# 设置字体为SimHei显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False # 设置正常显示符号
plt.plot(x,y,label="$sin(x)$") # 绘制三角函数
plt.title('sin曲线')
plt.savefig('./显示中文标题的sin曲线.png')
plt.show()
matplotlib.pyplot.scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None,alpha=None,linewidths=None,verts=None,edgecolors=None,hold=None,data=None,**kwargs)
scatter函数常用参数及其说明
参数名称 | 说明 |
---|---|
x,y | 接受array。表示x轴和y轴对应的数据。无默认 |
s | 接受数值或者一维的array。指定点的大小,若传入一维array,则表示每个点的大小。默认为None |
c | 接受颜色或者一维的array。指定点的颜色,若传入一维array,则表示每个点的颜色。默认为None |
marker | 接收特定string。表示绘制的点的类型。默认为None |
alpha | 接收0~1的小数。表示点的透明度。默认为None |
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
data = np.load('./国民经济核算季度数据.npz', allow_pickle=True)
name = data['columns'] # 提取其中的columns数组,视为数据的标签
values = data['values'] # 提取其中的values数组,数据的存在位置
plt.figure(figsize=(8,7)) # 设置画布
plt.scatter(values[:,0],values[:,2], marker='o') # 绘制散点图
plt.xlabel('年份') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加y轴名称
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title('2000-2017年季度生产总值散点图') # 添加图表标题
plt.savefig('./2000-2017年季度生产总值散点图.png')
plt.show()
plt.figure(figsize=(8,7))## 设置画布
## 绘制散点1
plt.scatter(values[:,0],values[:,3], marker='o',c='red')
## 绘制散点2
plt.scatter(values[:,0],values[:,4], marker='D',c='blue')
## 绘制散点3
plt.scatter(values[:,0],values[:,5], marker='v',c='yellow')
plt.xlabel('年份')## 添加横轴标签
plt.ylabel('生产总值(亿元)')## 添加纵轴标签
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title('2000-2017年各产业季度生产总值散点图')## 添加图表标题
plt.legend(['第一产业','第二产业','第三产业'])## 添加图例
plt.savefig('./2000-2017年各产业季度生产总值散点图.png')
plt.show()
分析:通过图中点的颜色和形状的区别可以看出,第一产业增长平缓,第三产业呈指数型增长,第二产业每年会根据季度呈现周期性波动。总体来看,我国近18年的各个产业都在持续增长钟,并且第二和第三产业增长幅度非常大,18年间增长了400%以上。
matplotlib.pyplot.plot(*args, **kwargs)
plot函数常用参数及其说明
参数名称 | 说明 |
---|---|
x,y | 接收array。表示x轴和y轴对应的数据。无默认 |
color | 接收特定string。指定线条的颜色。默认为None |
linestyle | 接收特定string。指定线条类型。默认为“-” |
marker | 接收特定string。表示绘制的点的类型。默认为None |
alpha | 接收0-1的小数。表示点的透明度。默认为None |
color参数的常用颜色缩写
颜色缩写 | 代表的颜色 | 颜色缩写 | 代表的颜色 |
---|---|---|---|
b | 蓝色 | m | 品红 |
g | 绿色 | y | 黄色 |
r | 红色 | k | 黑色 |
c | 青色 | w | 白色 |
plt.figure(figsize=(8,7))## 设置画布
## 绘制折线图
plt.plot(values[:,0],values[:,2],color = 'r',linestyle = '--')
plt.xlabel('年份')## 添加横轴标签
plt.ylabel('生产总值(亿元)')## 添加y轴名称
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title('2000-2017年季度生产总值折线图')## 添加图表标题
plt.savefig('./2000-2017年季度生产总值折线图.png')
plt.show()
plt.figure(figsize=(8,7))## 设置画布
plt.plot(values[:,0],values[:,2],color = 'r',linestyle = '--',
marker = 'o')## 绘制折线图
plt.xlabel('年份')## 添加横轴标签
plt.ylabel('生产总值(亿元)')## 添加y轴名称
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title('2000-2017年季度生产总值点线图')## 添加图表标题
plt.savefig('./2000-2017年季度生产总值点线图.png')
plt.show()
plt.figure(figsize=(8,7)) # 设置画布
plt.plot(values[:,0],values[:,3],'bs-',
values[:,0],values[:,4],'ro-.',
values[:,0],values[:,5],'gH--') # 绘制折线图
plt.xlabel('年份') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加y轴名称
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title('2000-2017年各产业季度生产总值折线图') # 添加图表标题
plt.legend(['第一产业','第二产业','第三产业'])
plt.savefig('./2000-2017年季度各产业生产总值折线图.png')
plt.show()
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
data = np.load('./data/国民经济核算季度数据.npz', allow_pickle=True)
name = data['columns'] # 提取其中的columns数组,视为数据的标签
values = data['values'] # 提取其中的values数组,数据的存在位置
p = plt.figure(figsize=(12,12)) ##设置画布
# 子图1
ax1 = p.add_subplot(2,1,1)
plt.scatter(values[:,0],values[:,3], marker='o',c='r')## 绘制散点
plt.scatter(values[:,0],values[:,4], marker='D',c='b')## 绘制散点
plt.scatter(values[:,0],values[:,5], marker='v',c='y')## 绘制散点
plt.ylabel('生产总值(亿元)')## 添加纵轴标签
plt.title('2000-2017年各产业季度生产总值散点图')## 添加图表标题
plt.legend(['第一产业','第二产业','第三产业'])## 添加图例
# 子图2
ax2 = p.add_subplot(2,1,2)
plt.scatter(values[:,0],values[:,6], marker='o',c='r') # 绘制散点
plt.scatter(values[:,0],values[:,7], marker='D',c='b') # 绘制散点
plt.scatter(values[:,0],values[:,8], marker='v',c='y') # 绘制散点
plt.scatter(values[:,0],values[:,9], marker='8',c='g') # 绘制散点
plt.scatter(values[:,0],values[:,10], marker='p',c='c') # 绘制散点
plt.scatter(values[:,0],values[:,11], marker='+',c='m') # 绘制散点
plt.scatter(values[:,0],values[:,12], marker='s',c='k') # 绘制散点
plt.scatter(values[:,0],values[:,13], marker='*',c='purple') # 绘制散点
plt.scatter(values[:,0],values[:,14], marker='d',c='brown') # 绘制散点
plt.legend(['农业','工业','建筑','批发','交通',
'餐饮','金融','房地产','其他'])
plt.xlabel('年份') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加纵轴标签
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.savefig('./2000-2017年季度各行业生产总值散点子图.png')
plt.show()
分析:通过图可以看出,我国现阶段国民经济增长的主要动力是第三产业,其次是第二产业。从行业看来,工业、其他行业和农业对整体国民经济贡献度最大。
p1 = plt.figure(figsize=(8,7)) # 设置画布
# 子图1
ax3 = p1.add_subplot(2,1,1)
plt.plot(values[:,0],values[:,3],'b-',
values[:,0],values[:,4],'r-.',
values[:,0],values[:,5],'g--') # 绘制折线图
plt.ylabel('生产总值(亿元)') # 添加纵轴标签
plt.title('2000-2017年各产业季度生产总值折线图') # 添加图表标题
plt.legend(['第一产业','第二产业','第三产业']) # 添加图例
# 子图2
ax4 = p1.add_subplot(2,1,2)
plt.plot(values[:,0],values[:,6], 'r-', # 绘制折线图
values[:,0],values[:,7], 'b-.',
values[:,0],values[:,8],'y--',
values[:,0],values[:,9], 'g:',
values[:,0],values[:,10], 'c-',
values[:,0],values[:,11], 'm-.',
values[:,0],values[:,12], 'k--',
values[:,0],values[:,13], 'r:',
values[:,0],values[:,14], 'b-')
plt.legend(['农业','工业','建筑','批发','交通',
'餐饮','金融','房地产','其他'])
plt.xlabel('年份') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加纵轴标签
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.savefig('./2000-2017年季度各行业生产总值折线子图.png')
plt.show()
分析:此图能够发现我国经济各产业与各行业增长趋势,可以看出我国整体经济呈现增长趋势,其中第一产业增长相对较慢,但是周期性明显,农业的周期性和第一产业的周期性基本吻合。工业和第二产业的增长趋势基本一致。同时除了餐饮行业外,其他行业均呈现较为明显的增长趋势。
matplotlib.pyplot.bar(left,height,width=0.8,bottom=None,hold=None,data=None,**kwargs)
bar函数的常用参数及其说明
参数名称 | 说明 |
---|---|
left | 接收array。表示x轴数据。无默认 |
height | 接收array。表示x轴所代表数据的数量。无默认 |
width | 接收0~1之间的float。指定直方图宽度。默认为0.8 |
color | 接收指定string或者包含颜色字符串的array。表示直方图颜色。默认为None |
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
data = np.load('./data/国民经济核算季度数据.npz', allow_pickle=True)
name = data['columns'] # 提取其中的columns数组,视为数据的标签
values = data['values'] # 提取其中的values数组,数据的存在位置
label = ['第一产业','第二产业','第三产业']## 刻度标签
plt.figure(figsize=(6,5)) # 设置画布
plt.bar(range(3),values[-1,3:6],width = 0.5) # 绘制散点图
plt.xlabel('产业') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加y轴名称
plt.xticks(range(3),label)
plt.title('2017年第一季度各产业国民生产总值直方图') # 添加图表标题
plt.savefig('./2017年第一季度各产业国民生产总值直方图.png')
plt.show()
分析:2017年第一季度的第一产业生产总值不到第二产业的六分之一,基本与第三产业的十分之一持平。第二产业生产总值和第三产业生产总值大约相差三分之一。
matplotlib.pyplot.pie(x,explode=None,labels=None,colors=None,autopct=None,pctdistance=0.6,shadow=False,labeldistance=1.1,startangle=None,radius=None,counterclock=True,wedgeprops=None,textprops=None,center=(0,0),frame=False,hold=None,data=None)
pie函数的常用参数及其说明
参数名称 | 说明 |
---|---|
x | 接收array。表示用于绘制饼图的数据。无默认 |
explode | 接收array。表示指定项距离饼图圆心为n个半径。默认为None |
labels | 接收array。指定每一项的名称。默认为None |
color | 接收特定string或者包含颜色字符串的array。表示饼图颜色。默认为None |
autopct | 接收特定string。指定数值的显示方式。默认为None |
pctdistance | 接收float。指定每一项的比例autopct和距离圆心的半径。默认为0.6 |
labeldistance | 接收float。指定每一项的名称labels和距离圆心的半径。默认为1.1 |
radius | 接收float。表示饼图的半径。默认为1 |
plt.figure(figsize=(6,6)) # 将画布设定为正方形,则绘制的饼图是正圆
label= ['第一产业','第二产业','第三产业'] # 定义饼状图的标签,标签是列表
explode = [0.01,0.01,0.01] # 设定各项离心n个半径
plt.pie(values[-1,3:6],explode=explode,labels=label,
autopct='%1.1f%%') # 绘制饼图
plt.title('2017年第一季度各产业国民生产总值饼图')
plt.savefig('./2017年第一季度各产业生产总值占比饼图')
plt.show()
分析:可以明确看出三个产业在整个国民生产总值中的占比。第一产业不到5%,第三产业超过50%,说明现阶段我国经济的主要贡献产品为第三产业。
matplotlib.pyplot.boxplot(x,notch=None,sym=None,vert=None,whis=None,positions=None,widths=None,patch_artist=None,bootstrap=None,usermedians=None,conf_intervals=None,meanlines=None,showmeans=None,showcaps=None,showbox=None,showfliers=None,boxprops=None,labels=None,filerprops=None,medianprops=None,meanprops=None,capprops=None,whiskerprops=None,manage_xticks=True,autorange=False,zorder=None,hold=None,data=None)
boxplot函数常用参数及其说明
参数名称 | 说明 |
---|---|
x | 接收array。表示用于绘制箱线图的数据。无默认 |
notch | 接收boolean。表示中间箱体是否有缺口。默认为None |
sym | 接收特定string。指定异常点形状。默认为None |
vert | 接收boolean。表示图形时纵向或者横向。默认为None |
positions | 接收array。表示图形位置。默认为None |
widths | 接收scalar或者array。表示每个箱体的宽度。默认为None |
labels | 接收array。指定每一个箱线图的标签。默认为None |
meanline | 接收boolean。表示是否显示均值线。默认为False |
label= ['第一产业','第二产业','第三产业'] # 定义标签
gdp = (list(values[:,3]),list(values[:,4]),list(values[:,5]))
plt.figure(figsize=(6,4))
plt.boxplot(gdp,notch=True,labels = label, meanline=True)
plt.title('2000-2017各产业国民生产总值箱线图')
plt.savefig('./2000-2017各产业国民生产总值箱线图.png')
plt.show()
分析:在2000~2017年,第一产业在某一年的某个季度具有一个异常值。第三产业整体增速变大,导致了第三产业数据前半部分相对密集,而后半部分相对分散。
import numpy as np
import matplotlib.pyplot as plt
data = np.load('./data/国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns'] # 提取其中的columns数组,视为数据的标签
values = data['values'] # 提取其中的values数组,数据的存在位置
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
label1 = ['第一产业','第二产业','第三产业'] # 刻度标签1
label2 = ['农业','工业','建筑','批发','交通',
'餐饮','金融','房地产','其他'] # 刻度标签2
p = plt.figure(figsize=(12,12))
# 子图1
ax1 = p.add_subplot(2,2,1)
plt.bar(range(3),values[0,3:6],width = 0.5) # 绘制散点图
plt.xlabel('产业') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加y轴名称
plt.xticks(range(3),label1)
plt.title('2000年第一季度国民生产总值产业构成分布直方图')
# 子图2
ax2 = p.add_subplot(2,2,2)
plt.bar(range(3),values[-1,3:6],width = 0.5) # 绘制散点图
plt.xlabel('产业') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加y轴名称
plt.xticks(range(3),label1)
plt.title('2017年第一季度国民生产总值产业构成分布直方图')
# 子图3
ax3 = p.add_subplot(2,2,3)
plt.bar(range(9),values[0,6:],width = 0.5) # 绘制散点图
plt.xlabel('行业') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加y轴名称
plt.xticks(range(9),label2)
plt.title('2000年第一季度国民生产总值行业构成分布直方图') # 添加图表标题
# 子图4
ax4 = p.add_subplot(2,2,4)
plt.bar(range(9),values[-1,6:],width = 0.5) # 绘制散点图
plt.xlabel('行业') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加y轴名称
plt.xticks(range(9),label2)
plt.title('2017年第一季度国民生产总值行业构成分布直方图') # 添加图表标题
# 保存并显示图形
plt.savefig('./国民生产总值构成分布直方图.png')
plt.show()
分析:通过直方图分析2000年第一季度和2017年第一季度的三大产业的国民生产总值,可以发现各产业绝对数值之间的关系,并通过对比发现产业结构的变化。同理可以得出行业间的绝对数值关系以及2000-2017年的行业发展情况。第一产业与第二产业和第三产业的国民生产总值差距语法巨大。通过坐标轴变化可以发现,国民生产总值增长接近10倍。2000-2017年,金融行业与其他行业增长幅度相比较较明显。
label1 = ['第一产业','第二产业','第三产业'] # 标签1
label2 = ['农业','工业','建筑','批发','交通',
'餐饮','金融','房地产','其他'] # 标签2
explode1 = [0.01,0.01,0.01]
explode2 = [0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01]
p = plt.figure(figsize=(12,12))
# 子图1
ax1 = p.add_subplot(2,2,1)
plt.pie(values[0,3:6],explode=explode1,labels=label1,
autopct='%1.1f%%') # 绘制散点图
plt.title('2000年第一季度国民生产总值产业构成分布饼图')
# 子图2
ax2 = p.add_subplot(2,2,2)
plt.pie(values[-1,3:6],explode=explode1,labels=label1,
autopct='%1.1f%%') # 绘制散点图
plt.title('2017年第一季度国民生产总值产业构成分布饼图')
# 子图3
ax3 = p.add_subplot(2,2,3)
plt.pie(values[0,6:],explode=explode2,labels=label2,
autopct='%1.1f%%') # 绘制散点图
plt.title('2000年第一季度国民生产总值行业构成分布饼图') # 添加图表标题
# 子图4
ax4 = p.add_subplot(2,2,4)
plt.pie(values[-1,6:],explode=explode2,labels=label2,
autopct='%1.1f%%') # 绘制散点图
plt.title('2017年第一季度国民生产总值行业构成分布饼图') # 添加图表标题
# 保存并显示图形
plt.savefig('./国民生产总值构成分布饼图.png')
plt.show()
分析:分析:通过分析2000年与2017年不同的产业和行业在国民生产总值中的占比,可以发现我国的产业结构变化和行业变迁。2000-2017年,第三产业在整个国民生产总值中的占比约提高了10%,第一产业和第二产业在国民生产总值中的占比分别下讲了约4%和6%。工业在整个国民生产总值中的比例下降了7%,其他行业与金融行业分别提升了6.7%与3.7%。
label1 = ['第一产业','第二产业','第三产业'] # 标签1
label2 = ['农业','工业','建筑','批发','交通',
'餐饮','金融','房地产','其他'] # 标签2
gdp1 = (list(values[:,3]),list(values[:,4]),list(values[:,5]))
gdp2 = ([list(values[:,i]) for i in range(6,15)])
p = plt.figure(figsize=(8,8))
# 子图1
ax1 = p.add_subplot(2,1,1)
# 绘制散点图
plt.boxplot(gdp,notch=True,labels = label1, meanline=True)
plt.title('2000-2017各产业国民生产总值箱线图')
plt.ylabel('生产总值(亿元)') # 添加y轴名称
# 子图2
ax2 = p.add_subplot(2,1,2)
# 绘制散点图
plt.boxplot(gdp2,notch=True,labels = label2, meanline=True)
plt.title('2000-2017各行业国民生产总值箱线图')
plt.xlabel('行业') # 添加横轴标签
plt.ylabel('生产总值(亿元)') # 添加y轴名称
# 保存并显示图形
plt.savefig('./国民生产总值分散情况箱线图.png')
plt.show()
分析:通过箱线图分析2000-2017年不同的行业和产业在国民生产总值总的分布情况,从而判断整体增速是否加快。整体经济趋势时上升的,结合箱线图可以看出产业中的第二产业增长平缓。行业中的工业与餐饮也的增长比较平缓,其他行业、批发行业、建筑行业、金融行业和房地产行业增速均有所加快。