python–Matplotlib数据可视化基础

Matplotlib数据可视化基础

绘图基础语法与常用参数

pyplot基础语法

  • pyplot基本绘图流程分为三个步骤:1.创建画布与创建子图;2.添加画布内容;3.保存与显示图形。第二部分包括添加标题,添加x轴名称,修改x轴刻度与范围,添加y轴名称,修改y轴刻度与范围

创建画布与创建子图常见函数

函数名称函数作用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保存绘制的图形,可以指定图形的分辨率、边缘的颜色等参数gplt.show在本机显示图形

  • 实例

import numpy as np
import matplotlib.pyplot as plt
data=np.arange(0,1.1,0.01)
plt.title('lines')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0,1))
plt.ylim((0,1))
plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(data,data**2)
plt.plot(data,data**4)
plt.legend(['y=x^2','y=x^4'])
plt.savefig('./y=x^2.png')
plt.show()

python--Matplotlib数据可视化基础

rad=np.arange(0,np.pi*2,0.01)

p1=plt.figure(figsize=(8,6),dpi=80)
ax1=p1.add_subplot(2,1,1)
plt.title('lines')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0,1))
plt.ylim((0,1))
plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(rad,rad**2)
plt.plot(rad,rad**4)
plt.legend(['y=x^2','y=x^4'])

ax2=p1.add_subplot(2,1,2)
plt.title('sin/cos')
plt.xlabel('rad')
plt.ylabel('value')
plt.xlim((0,np.pi*2))
plt.ylim((-1,1))
plt.xticks([0,np.pi/2,np.pi,np.pi*1.5,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
plt.plot(rad,np.sin(rad))
plt.plot(rad,np.cos(rad))
plt.legend(['sin','cos'])
plt.savefig('./sincos.png')
plt.show()

python--Matplotlib数据可视化基础

设置pyplot动态rc参数

  • pyplot使用rc配置文件来自定义图形中的各种默认属性

线条常用的rc参数

rc参数名称解释取值lines.linewidth线条宽度取0~10之间的数值,默认为1.5lines.linestyle线条样式可取”-” “–” “-.” “:” 四种。默认为”-“lines.marker线条上点的形状可取”o” “D” “h” “.” “,” “S”等20种默认为Nonelines.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’八边形’

  • 实例

x = np.linspace(0,4*np.pi)
y = np.sin(x)
plt.plot(x,y,label="$sin(s)$")
plt.title('sin')
plt.savefig('./默认sin曲线.png')
plt.show()

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

python--Matplotlib数据可视化基础

plt.plot(x,y,label="$sin(x)$")
plt.title('sin曲线')
plt.savefig('./无法显示中文标题的sin曲线.png')
plt.show()

python--Matplotlib数据可视化基础

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

python--Matplotlib数据可视化基础

分析特征间关系

散点图–用于分析特征间的相关关系

  • 用于比较跨类别的数据

  • 特征之间是否存在数值或者数量的关联趋势,关联趋势是线性的还是非线性的。

  • 如果某一个点或者某几个点偏离大多数点,则这些点就是离群值,通过散点图可以一目了然,从而进一步分析这些离群值是否在建模分析中产生很大的影响。

  • 绘制方法 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,则表示每个点的大小。默认为Nonec接受颜色或者一维的array。指定点的颜色,若传入一维array,则表示每个点的颜色。默认为Nonemarker接收特定string。表示绘制的点的类型。默认为Nonealpha接收0~1的小数。表示点的透明度。默认为None

  • 绘制2000~2017年个季度国民生产总值散点图
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']
values = data['values']
plt.figure(figsize=(8,7))
plt.scatter(values[:,0],values[:,2], marker='o')
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
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()

python--Matplotlib数据可视化基础
  • 绘制2000~2017年间各产业各季度国民生产总值的散点图
plt.figure(figsize=(8,7))

plt.scatter(values[:,0],values[:,3], marker='o',c='red')

plt.scatter(values[:,0],values[:,4], marker='D',c='blue')

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%以上。

折线图–用与分析自变量特征和因变量特征的趋势关系

  • 主要是查看因变量y随着自变量x改变的趋势,最适合用于显示随时间而变化的连续数据。同时还可以看出数量的差异,增长趋势的变化。
  • 基本语法 matplotlib.pyplot.plot(*args, **kwargs)

plot函数常用参数及其说明

参数名称说明x,y接收array。表示x轴和y轴对应的数据。无默认color接收特定string。指定线条的颜色。默认为Nonelinestyle接收特定string。指定线条类型。默认为”-“marker接收特定string。表示绘制的点的类型。默认为Nonealpha接收0-1的小数。表示点的透明度。默认为None

color参数的常用颜色缩写

颜色缩写代表的颜色颜色缩写代表的颜色b蓝色m品红g绿色y黄色r红色k黑色c青色w白色

  • 绘制2000~2017年各季度国民生产总值折线图
plt.figure(figsize=(8,7))

plt.plot(values[:,0],values[:,2],color = 'r',linestyle = '--')
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
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()

python--Matplotlib数据可视化基础
  • 绘制点线图
plt.figure(figsize=(8,7))
plt.plot(values[:,0],values[:,2],color = 'r',linestyle = '--',
        marker = 'o')
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
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()
  • 绘制2000~2017年各产业各季度生产总值的折线散点图
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('生产总值(亿元)')
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()

python--Matplotlib数据可视化基础

画图任务分析实现

  • 绘制2000~2017各产业与行业的国民生产总值散点图
    国民生产总值数据包括三大产业的国民生产总值,以及农业、工业、建筑、批发、交通、餐饮、金融、房地产和其他行业各个季度的增加值。通过散点图分析三大行业的国民生产总值可以发现我国产业结构通过比较各行业间季度的增加值可以发现国民经济的主要贡献行业。
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']
values = data['values']
p = plt.figure(figsize=(12,12))

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(['第一产业','第二产业','第三产业'])

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

python--Matplotlib数据可视化基础
分析:通过图可以看出,我国现阶段国民经济增长的主要动力是第三产业,其次是第二产业。从行业看来,工业、其他行业和农业对整体国民经济贡献度最大。
  • 绘制2000~2017年各产业与行业的国民生产总值折线图
p1 = plt.figure(figsize=(8,7))

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(['第一产业','第二产业','第三产业'])

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

python--Matplotlib数据可视化基础

分析:此图能够发现我国经济各产业与各行业增长趋势,可以看出我国整体经济呈现增长趋势,其中第一产业增长相对较慢,但是周期性明显,农业的周期性和第一产业的周期性基本吻合。工业和第二产业的增长趋势基本一致。同时除了餐饮行业外,其他行业均呈现较为明显的增长趋势。

分析特征内部数据分布与分散状况

  • 直方图、饼图和箱线图是另3种数据分析常用的图形,主要用于分析数据内部的分布状态和分散状态。

直方图–查看各分组数据的数量分布,以及各组数据之间的数量比较

  • 质量分布图:由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据所属的类别,用纵轴表示数量或者占比。可以比较直观的看出产品质量特性的分布状态,便于判断其总体质量分布情况。语法: 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.8color接收指定string或者包含颜色字符串的array。表示直方图颜色。默认为None

  • 绘制2017年第一季度各产业国民总值直方图
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']
values = data['values']
label = ['第一产业','第二产业','第三产业']
plt.figure(figsize=(6,5))
plt.bar(range(3),values[-1,3:6],width = 0.5)
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(3),label)
plt.title('2017年第一季度各产业国民生产总值直方图')
plt.savefig('./2017年第一季度各产业国民生产总值直方图.png')
plt.show()

python--Matplotlib数据可视化基础
分析: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个半径。默认为Nonelabels接收array。指定每一项的名称。默认为Nonecolor接收特定string或者包含颜色字符串的array。表示饼图颜色。默认为Noneautopct接收特定string。指定数值的显示方式。默认为Nonepctdistance接收float。指定每一项的比例autopct和距离圆心的半径。默认为0.6labeldistance接收float。指定每一项的名称labels和距离圆心的半径。默认为1.1radius接收float。表示饼图的半径。默认为1

  • 绘制2017年第一季度各产业国民生产总值饼图
plt.figure(figsize=(6,6))
label= ['第一产业','第二产业','第三产业']
explode = [0.01,0.01,0.01]
plt.pie(values[-1,3:6],explode=explode,labels=label,
        autopct='%1.1f%%')
plt.title('2017年第一季度各产业国民生产总值饼图')
plt.savefig('./2017年第一季度各产业生产总值占比饼图')
plt.show()

python--Matplotlib数据可视化基础
分析:可以明确看出三个产业在整个国民生产总值中的占比。第一产业不到5%,第三产业超过50%,说明现阶段我国经济的主要贡献产品为第三产业。

箱线图–发现整体数据的分布分散情况

  • 箱须图:能提供有关数据位置和分散情况的关键信息,尤其是在比较不同特征时,更可表示其分散程度差异。箱线图利用数据中的5个统计量(最小值、下四分位数、中位数、上四分位数和最大值)来描述数据。它也可以粗略的看出数据是否具有对称性、分布的分散程度等信息,特别是可以用于几个样本的比较。语法: 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。表示中间箱体是否有缺口。默认为Nonesym接收特定string。指定异常点形状。默认为Nonevert接收boolean。表示图形时纵向或者横向。默认为Nonepositions接收array。表示图形位置。默认为Nonewidths接收scalar或者array。表示每个箱体的宽度。默认为Nonelabels接收array。指定每一个箱线图的标签。默认为Nonemeanline接收boolean。表示是否显示均值线。默认为False

  • 绘制2000~2017年各产业国民生产总值箱线图
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()

python--Matplotlib数据可视化基础
分析:在2000~2017年,第一产业在某一年的某个季度具有一个异常值。第三产业整体增速变大,导致了第三产业数据前半部分相对密集,而后半部分相对分散。

画图任务分析实现

  • 绘制国民生产总值构成分布直方图
import numpy as np
import matplotlib.pyplot as plt
data = np.load('./data/国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns']
values = data['values']
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
label1 = ['第一产业','第二产业','第三产业']
label2 = ['农业','工业','建筑','批发','交通',
        '餐饮','金融','房地产','其他']
p = plt.figure(figsize=(12,12))

ax1 = p.add_subplot(2,2,1)
plt.bar(range(3),values[0,3:6],width = 0.5)
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(3),label1)
plt.title('2000年第一季度国民生产总值产业构成分布直方图')

ax2 = p.add_subplot(2,2,2)
plt.bar(range(3),values[-1,3:6],width = 0.5)
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(3),label1)
plt.title('2017年第一季度国民生产总值产业构成分布直方图')

ax3 = p.add_subplot(2,2,3)
plt.bar(range(9),values[0,6:],width = 0.5)
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(9),label2)
plt.title('2000年第一季度国民生产总值行业构成分布直方图')

ax4 = p.add_subplot(2,2,4)
plt.bar(range(9),values[-1,6:],width = 0.5)
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(9),label2)
plt.title('2017年第一季度国民生产总值行业构成分布直方图')

plt.savefig('./国民生产总值构成分布直方图.png')
plt.show()

python--Matplotlib数据可视化基础
分析:通过直方图分析2000年第一季度和2017年第一季度的三大产业的国民生产总值,可以发现各产业绝对数值之间的关系,并通过对比发现产业结构的变化。同理可以得出行业间的绝对数值关系以及2000-2017年的行业发展情况。第一产业与第二产业和第三产业的国民生产总值差距语法巨大。通过坐标轴变化可以发现,国民生产总值增长接近10倍。2000-2017年,金融行业与其他行业增长幅度相比较较明显。
  • 绘制国民生产总值构成分布饼图
label1 = ['第一产业','第二产业','第三产业']
label2 = ['农业','工业','建筑','批发','交通',
        '餐饮','金融','房地产','其他']
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))

ax1 = p.add_subplot(2,2,1)
plt.pie(values[0,3:6],explode=explode1,labels=label1,
        autopct='%1.1f%%')
plt.title('2000年第一季度国民生产总值产业构成分布饼图')

ax2 = p.add_subplot(2,2,2)
plt.pie(values[-1,3:6],explode=explode1,labels=label1,
        autopct='%1.1f%%')
plt.title('2017年第一季度国民生产总值产业构成分布饼图')

ax3 = p.add_subplot(2,2,3)
plt.pie(values[0,6:],explode=explode2,labels=label2,
        autopct='%1.1f%%')
plt.title('2000年第一季度国民生产总值行业构成分布饼图')

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

python--Matplotlib数据可视化基础
分析:分析:通过分析2000年与2017年不同的产业和行业在国民生产总值中的占比,可以发现我国的产业结构变化和行业变迁。2000-2017年,第三产业在整个国民生产总值中的占比约提高了10%,第一产业和第二产业在国民生产总值中的占比分别下讲了约4%和6%。工业在整个国民生产总值中的比例下降了7%,其他行业与金融行业分别提升了6.7%与3.7%。
  • 绘制国民生产总值分散情况箱线图
label1 = ['第一产业','第二产业','第三产业']
label2 = ['农业','工业','建筑','批发','交通',
        '餐饮','金融','房地产','其他']
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))

ax1 = p.add_subplot(2,1,1)

plt.boxplot(gdp,notch=True,labels = label1, meanline=True)
plt.title('2000-2017各产业国民生产总值箱线图')
plt.ylabel('生产总值(亿元)')

ax2 = p.add_subplot(2,1,2)

plt.boxplot(gdp2,notch=True,labels = label2, meanline=True)
plt.title('2000-2017各行业国民生产总值箱线图')
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')

plt.savefig('./国民生产总值分散情况箱线图.png')
plt.show()

python--Matplotlib数据可视化基础
分析:通过箱线图分析2000-2017年不同的行业和产业在国民生产总值总的分布情况,从而判断整体增速是否加快。整体经济趋势时上升的,结合箱线图可以看出产业中的第二产业增长平缓。行业中的工业与餐饮也的增长比较平缓,其他行业、批发行业、建筑行业、金融行业和房地产行业增速均有所加快。

Original: https://blog.csdn.net/weixin_46361294/article/details/125570563
Author: 爱学习的Amelia
Title: python–Matplotlib数据可视化基础

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/766615/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 造轮子 python 随机数填写体温并获取其他表格数据和并生成总表

    疫情原因,要求填写体温,于是造了一个用于随机填充体温的轮子。 [严正声明] 禁止任何组织、团体与个人以任何不正当方式使用此程序。 软件作者不承担任何由于不正确使用本程序造成的任何责…

    Python 2023年8月17日
    054
  • Ribbon策略改变实现步骤(基于Eureka服务注册中心)

    前言 Ribbon作为服务调用的作用,自带的默认负载均衡机制是轮询机制也就是轮流访问机制。当然有时候并不是业务上都需要这种机制,这时候就需要改变。 机制类型 RoundRobinR…

    Python 2023年11月6日
    028
  • Python实现简繁体转换,现在的人玩得老花了

    1、opencc-python 首先介绍opencc中的Python实现库,它具有安装简单,翻译准确,使用方便等优点。对于我们日常的需求完全能够胜任。 ; 1.1安装opencc-…

    Python 2023年11月2日
    025
  • 手写字体识别实验-Python课程设计

    安装python打开手写识别文件夹中的安装包文件夹,双击python3.7.1可执行文件,进行安装。 弹出窗口第一步,勾选第二个复选框 Add Python 3.7 to PATH…

    Python 2023年9月1日
    045
  • Nginx配置使用详解

    1、常用命令 需要进入nginx的安装目录中的 sbin目录 (也可以配置环境变量,在任何目录都可以执行下面的命令),里面有一个ngin…

    Python 2023年9月26日
    0191
  • go-cqhttp权限管理

    一、 概述 在写好我们的智能聊天功能之后,大家有没有感觉很烦呢?感觉这个机器人在群里面一直被艾特,一直被戳一戳。那么,我们有没有一种方法,使得其在群里面的权限可控呢? 或许大家看到…

    Python 2023年6月9日
    064
  • Django网站设计常见问题处理(整理)

    以下内容来源并整理于网络,并在实际应用过程中进行了汇总,希望能够帮到大家,后面有一段时间没有整理了,也欢迎大家交流、提问,并持续更新。问题一、”Python&#8221…

    Python 2023年8月4日
    052
  • 超详细OpenCV之python操作

    简介 OpenCV是一款由Intel公司俄罗斯团队发起并参与和维护的一个计算机视觉处理开源软件库,支持与计算机视觉和机器学习相关的众多算法,并且正在日益扩展。 OpenCV-Pyt…

    Python 2023年8月1日
    052
  • dataframe 设置空值_2019-12-19(三)对DataFrame空值数据记录进行的各种选择(1)

    ”’ 上期回顾: 学习对DataFrame数据记录进行各项选择前的初步和整体的了解。 本次: 我们将学习对DataFrame数据记录进行的各种选择! 因为2…

    Python 2023年8月8日
    062
  • Linux设备驱动开发之设备树(Device Tree)

    点击关注”嵌入式IoT杂谈”公众号,选择”星标公众号”干货福利,第一时间送达! 一、什么是设备树 设备树(Device Tree),…

    Python 2023年11月7日
    035
  • pytest 框架整理

    pytest 特点点击这里,边看视频讲解,边学习以下内容 基于 Python 语言的自动化测试框架 最知名的 有如下 3 款 unittest pytest robotframew…

    Python 2023年9月12日
    030
  • flask学习记录001

    安装虚拟环境管理器 virtualenvwrapper-win: pip install virtualenv pip install virtualenvwrapper-win …

    Python 2023年8月13日
    050
  • opencv videocapture

    python;gutter:true; import time import cv2 import numpy as np from os import path import p…

    Python 2023年6月15日
    083
  • 将塑造未来世界的十大web3技术

    一些重要的 Web 3.0 技术,包括以下技术,有助于定义第三代 Web 可能的全部内容: 1. 区块链技术 区块链是记录所有点对点交易的去中心化账本。参与者无需使用该技术的中央清…

    Python 2023年11月8日
    045
  • subplots()–matplotlib

    函数功能 成一个画布和若&…

    Python 2023年9月1日
    056
  • python3.6 的安装和numpy、opencv、pyrealsense2的安装

    为了能够使用D435i相机的使用,进行准备工作,python3.6 的安装和numpy、opencv、pyrealsense2的安装。 创建一个虚拟环境:为了方便管理,自己pyth…

    Python 2023年8月25日
    049
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球