Matplotlib—散点图、折线图、饼状图、直方图、箱线图

本文介绍了Python数据可视化库Matplotlib的使用,包括散点图、折线图、饼状图、直方图和箱线图的绘制方法。详细讲解了各图表的参数设置,如点的大小、颜色、线条类型等,帮助读者掌握数据可视化的基础技巧。
摘要由CSDN通过智能技术生成

1.散点图

      绘制函数:scatter ,格式如下。

      matplotlib.pyplot.scatter(x,y,s=None,marker=None,cmap=None,norm=None,
                                            vmin=None,alpha=None,linewidths=None,verts=None,edgecolors=None,data=None)

      x,y接收array,表示x,y轴对应的数据;
      s接收数值或一维array,指定点的大小,若传入一维数组,则表示每个点的大小,默认为None
      c接收颜色或一维array,指定点的颜色,若传入一维数组,则表示每个点的颜色,默认为None
      marker接受特定的string,表示绘制的点的类型,默认为None
      alpha接收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')
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('生产总值')
plt.ylim((0,225000)) #设置y轴范围
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title('2000-2017各季度生产总值散点图')
plt.show()

2.折线图

        折线图(line chart )函数: matplotlib.pyplot.plot(*args,**kwargs)
                      x,y接收array,表示x,y轴对应的数据;                          color 接收特定string,指定线条颜色,默认为None           
                      linestyle 接收特定string,指定线条类型,默认为-      marker 接收特定string,指定绘制的点的类型,默认为None
                      alpha 接受0-1间的小数,表点的透明度,默认None
       常见颜色:b-blue,g-green, r-red, c-青色,m-品红,y-yellow, k-black, w-white

import numpy as np
import matplotlib.pyplot as plt

data=np.load('all.npz')
name=data['columns'] #提取其中的columns数组,视为数据的标签
values=data['values'] #提取其中的values数组,视为数据的存在位置

plt.figure(figsize=(8,7)) #设置画布
plt.plot(values[:,0],values[:,2],color='r',linestyle='--') #绘制散点图
plt.xlabel('x');plt.ylabel('y')
plt.ylim((0,225000)) #设置y轴范围
plt.show()

3.饼状图

        函数如下:matplotlib.pyplot.pie(x,explode=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,hole=None,data=None)
        x 接收array,表示绘制饼图的数据,无默认; labels 接收array,指定每一项的名称,默认为None
        explode 接收array,表示指定项距离饼图圆心为n个半径,默认为None
        color 接收特定string,或者包含颜色字符串的array,表示饼图颜色,默认为None
        autopct 接收特定string,指定数值的显示方式,默认为None
        pctdistance 接收float,指定每一项的比例autopct和距离圆心的半径,默认为0.6
        labeldistance 接收float,指定每一项的名称labels和距离圆心的半径,默认为1.1
        radius 接收float,表示饼图的半径,默认为1

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')
name=data['columns']
values=data['values']

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

4.直方图

        绘制直方图函数:pyplot中绘制直方图函数为bar(left,height,width=0.8,bottom=None,
                                     hold=None,data=None,**kwargs)
        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('国民经济核算季度数据.npz')
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.xlable('产业')
plt.ylable('生产总值(亿元)')

plt.show()

5.箱线图

      绘制箱线图函数:plt.boxplot   (最大值,上四分位数,中位数,下四分位数,最小值)
plt.boxplot(x,notch=None,sym=None,vert=None,whis=None,positions=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')
name=data['columns']
values=data['values']
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
axl=p.add_subplot(2,1,1)
#绘制箱线图
plt.boxplot(gdp,notch=True,labels=label1,meanline=True)
plt.show()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值