需要将绘图中一部分数据用颜色块圈出,于是采用了fiil_between方法,记录一下:
pyplot.fill_between(x,y1,y2, facecolor='gray', alpha=0.3)
x:此参数表示覆盖的区域,如果选择x,则是沿着x轴全部覆盖了;也可以选择部分的x区域
y1: 覆盖区域的下边界值
y2:覆盖区域的上边界值
facecolor:覆盖区域的颜色
alpha: 覆盖区域色块的透明度
1.曲线覆盖:让y轴以下的区域全部显示
plt.fill_between(x,0,y,facecolor='gray',alpha=0.3)
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,10,40)
y = np.random.rand(40)
plt.figure()
plt.plot(x,y)
plt.fill_between(x,0,y,facecolor='gray',alpha=0.3)
plt.show()

2.部分区域显示
plt.fill_between(x[2:15],0,1,facecolor='gray',alpha=0.3)
注意这里不能让指定x范围内的0~y间的范围进行覆盖,会报错(虽然我也不知道为什么)
operands could not be broadcast together with shapes (13,) (40,)

本文介绍了Matplotlib的fill_between方法,用于在图形中填充曲线下的区域或两条曲线之间的颜色块。通过设置不同参数,可以实现全区域覆盖、部分区域显示以及在两条曲线间填充颜色等效果。

1404

被折叠的 条评论
为什么被折叠?



