matplotlib(2)填充 fill_between

数据准备与基础图像

import numpy as np
import matplotlib.pyplot as plt
#数据准备
y = np.random.normal(3, 2.5, size=(12,)) #生成随机数
y_std = np.std(y) #求标准差
x = range(len(y)) #生成x坐标
#画图
plt.plot(data)

在这里插入图片描述

plt.fill_between

import numpy as np
import matplotlib.pyplot as plt
#数据准备
y = np.random.normal(3, 2.5, size=(12,)) #生成随机数
y_std = np.std(y) #求标准差
x = range(len(y)) #生成x坐标
y1 = np.asarray(y) - 0.5*np.asarray(y_std) #下线
y2 = np.asarray(y) + 0.5*np.asarray(y_std) #上线
#画图
plt.plot(x,y,color='r')
plt.fill_between(x,y1,y2,color='r',alpha=0.3)

在这里插入图片描述

美化一下

import numpy as np
import matplotlib.pyplot as plt

#数据准备
y1 = np.random.normal(3, 2.5, size=(12,)) #生成随机数
y1_std = np.std(y1) #求标准差
x = range(len(y1))

y2 = np.random.normal(2, 3, size=(12,)) #生成随机数
y2_std = np.std(y2) #求标准差

y3 = np.random.normal(2.5, 5, size=(12,)) #生成随机数
y3_std = np.std(y3) #求标准差

#画图
plt.figure( figsize=(16,8), dpi=300)
plt.rcParams['font.sans-serif'] = ['Times New Roman']  #全局字体替换

plt.plot(x,y1,label='y1',color='r')
plt.plot(x,y2,label='y2',color='g')
plt.plot(x,y3,label='y3',color='b')

plt.fill_between(x,y1-0.5*y1_std,y1+0.5*y1_std,color='r',alpha=0.3)
plt.fill_between(x,y2-0.5*y2_std,y2+0.5*y2_std,color='g',alpha=0.3)
plt.fill_between(x,y3-0.5*y3_std,y3+0.5*y3_std,color='b',alpha=0.3)

plt.scatter(x,y1,s=100,color='r')
plt.scatter(x,y2,s=100,color='g')
plt.scatter(x,y3,s=100,color='b')

plt.tick_params(labelsize=20) #设置坐标轴字体大小
values = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] #横坐标标签替换值
plt.xticks(x,values) #横坐标标签替换
plt.grid() #网格
plt.ylabel('(%)',fontsize=30)
plt.xlabel('Month',fontsize=30)

#legend ncol:调整列数 frameon:是否关闭外框  loc:位置 bbox_to_anchor:微调位置,(约大约向右,约大约向上)
plt.legend(ncol=3,frameon=False,fontsize=25,loc='lower center', bbox_to_anchor=(0.5, -0.3)) 

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值