本系列文章配套代码获取有以下两种途径:
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/1jG-rGG4QMuZu0t0kEEl7SA?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Data_Visualization
plt.fill(*args, data=None, **kwargs)
-
*args参数:
-
plt.fill(x,y):用默认颜色填充多边形; -
plt.fill(x, y, ‘g ‘):用绿色填充多边形; -
plt.fill(x1, y1,x2,y2):填充两个多边形; -
plt.fill(x1, yl, ‘g’,x2,y2, ‘r ‘):一个用绿色填充,一个用红色填充。
-
data参数:
plt.fill ( 'labelname1' , 'labelname2', data = { 'labelname1' : [坐标列表], 'labelname2' : [坐标列表] })
ax.fill("time", "signal",
data={"time": [0, 1, 2], "signal": [0, 1, 0]})
-
**kwargs参数:
-
color:颜色。 -
edgecolor:边界颜色。 -
facecolor:区间内部颜色; -
fill:是否填充多边形,取值为布尔值; -
linestyle:线条样式。 -
linewidth:线条宽度。 -
zorder:当绘制多条线时,zorder值较小的先绘制。
-
实例:
-
传递两个多边形端点坐标列表,并根据样式参数进行填充:
x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)
plt.plot(x,y,'k')
# 填充区间
plt.fill([0,np.pi/2,np.pi],
[0 , 1,0],
'm',
[np.pi,3*np.pi/2,2*np.pi],
[0 , -1,0],
'c',
# 以下样式设置为两个填充多边形共享
# facecolor参数会覆盖掉之前设置的color参数
edgecolor='b',
linestyle='-.',
linewidth=4,
facecolor='r',
fill=True,
alpha=0.3)
plt.show()
-
通过data参数给定需要填充的多边形的端点信息:
x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)
plt.plot(x,y)
# 填充区间
plt.fill('xaxis','yaxis','y',data={'xaxis':[0,np.pi/2,np.pi],'yaxis':[0 , 1,0]})
plt.show()
plt.fill_between(x, y1, y2, where=None,**kwargs)
-
color:颜色; -
cmap:色彩映射的颜色地图; -
edgecolor:边界颜色; -
facecolor:区间内部颜色; -
linestyle:线条样式。 -
linewidth:线条宽度。 -
zorder:当绘制多条线时,zorder值较小的先绘制。
-
实例:
-
传递y1、y2两条曲线,并根据样式参数进行填充:
x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)
plt.plot(x,y,'k')
plt.fill_between(x=x,
y1=-1, # 第一条曲线为 y=-1 的直线
y2=y, # 第一条曲线为 y=sin(x)
color='c',
alpha=0.3,
edgecolor='b',
facecolor="m",
linestyle='--',
linewidth=5
)
plt.show()
-
通过where参数来排除一些填充区间:
x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)
plt.plot(x,y,'k')
plt.fill_between(x=x,
y1=-1, # 第一条曲线为 y=-1 的直线
y2=y, # 第一条曲线为 y=sin(x)
where=(x>=2)&(x<=5), # 只填充x取值在[2,5]的范围
color='c',
alpha=0.3,
edgecolor='b',
facecolor="m",
linestyle='--',
linewidth=5
)
plt.show()
plt.fill_betweenx(y, x1, x2=0, where=None, step=None, interpolate=False, *, data=None, **kwargs)
y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)
plt.plot(x1,y,'k-',x2,y,'k--')
plt.fill_betweenx(y, x2, x1,
facecolor='r',
alpha=0.3
)
plt.show()
更多内容可以前往官网查看:
https://matplotlib.org/stable/
本篇文章来源于微信公众号: 码农设计师