Matplotlib学习笔记二

饼图

pie(x)

  • x:每一块的比例如果总和大于1会自动归一化
  • labels:饼图区域外侧显示的说明文字
  • explode:扇形离圆心的距离
  • startangle:起始绘制角度(默认从x轴正方向逆时针)
  • shadow:在饼图下面画阴影(默认false)
  • labeldistance:label标记的绘制位置,参数为相当于半径的比例(默认1.1)
  • autopct:控制饼图内百分比设置
  • radius:饼图半径(默认1)
  • pctdistance:指定autopct的位置刻度(默认0.6)
  • frame:参数是布尔类型,如果为true绘制带有表的轴框架
  • textprops:传入参数是字典类型,设置标签和比例文字的格式
    如果你的饼图输出出来像被拍扁了不是正圆的话,试试这个命令哦
plt.axis("equal") #将饼图显示为正圆

箱线图(盒图)

由五个数值点组成:最小值,下四分位数,中位数,上四分位数,最大值。也可以往盒图里面加入平均值。上四分位数到最大值之间建立一条延伸线,这个延伸线称为“胡须”

#plt.boxplot()箱线图
import numpy as np
data = [np.random.normal(0,std,100) for std in range(1,4)] #列表推导式生成三组100个数的列表
plt.boxplot(data,notch = True,#中间凹进去一点
            sym = '*',#异常点的形状
            vert=False,#横着的箱线图
           )

在这里插入图片描述

棉棒图

#plt.stem()绘制棉棒图
x = np.linspace(0.5,2*np.pi,20)
y = np.random.rand(20)
plt.stem(x,y,
        linefmt = '-.',#棉棒的样式
        markerfmt='*',#棉棒末端的样式
        basefmt='--',#指定基线样式
        )

在这里插入图片描述

绘制误差棒图

#绘制误差棒图
x = np.linspace(-4,4,10)
y = np.sin(x)
plt.errorbar(x,y,yerr = 0.2,xerr = 0.2,fmt='ro:',#数据点的标记样式和数据点标记的链接样式
            ecolor='g', #误差棒的线条颜色
            elinewidth = 5, #误差棒的线条粗细
             ms = 8, #数据点的大小
             mfc  = 'orange', #数据点的颜色
             mec = 'lightgreen', #数据点边缘的颜色
             capsize=8, #误差棒边界横杠大小
             capthick=1, #误差棒边界横杠的厚度
            )

在这里插入图片描述

带误差棒的柱状图
#带误差棒的柱状图
x = np.arange(5)
y = [66,88,55,99,123]
err = [5,9,6,10,7]
err_attri = dict(elinewidth=2,ecolor="blue",capsize=3)
plt.bar(x,y,
       color = 'lightblue',width=0.6,align="center",
       yerr = err,
       error_kw = err_attri)

在这里插入图片描述

散点图

#plt.scatter()绘制散点图
import matplotlib as mpl
a = np.random.randn(50)
b = np.random.randn(50)
plt.scatter(a,b,s=np.power(10*a+20*b,2),
           c=np.random.rand(50),
           cmap=mpl.cm.RdYlBu)

在这里插入图片描述

子图

plt.subplot(221)将纸分成2×2的4份取第一份

plt.subplot(222)将纸分成2×2的4份取第二份

plt.subplot(212)分成2×1的两份取第二份

要分图先想好分成几份,想象是在一张大白纸上,先按最小的块数分,然后再拼接引入参数rowspan是连着行的份数,colspan是连着列的份数

ax1 = plt.subplot2grid((3,3),(0,1)) 
ax2 = plt.subplot2grid((3,3),(1,1))
ax3 = plt.subplot2grid((3,3),(0,0),rowspan=3)
ax4 = plt.subplot2grid((3,3),(2,0),colspan=2)
ax5 = plt.subplot2grid((3,3),(0,1),rowspan=2)

总共分成3×3,ax1就是第1行第1列,ax2就是第2行第1列,ax3是第1行第3列数3行小份连起来的一大份,ax4是第3行第1列数2列小份连起来的大份,ax5是第1行第2列数2行小份连起来的大份
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值