根据数组和颜色映射着色matplotlib的背景

Ian*_*rts 4 python colors matplotlib

我想知道是否可以根据绘制的数据来遮蔽典型matplotlib图的背景.

为简单起见,我们说:

x=arange(1,5,0.01)
y=sin(x)
plot(x,y)
Run Code Online (Sandbox Code Playgroud)

那么可以根据y值遮蔽轴的背景吗?

可以通过将包含x和y的数组传递给imshow来实现着色,例如:

imshow(array, cmap='hot')
Run Code Online (Sandbox Code Playgroud)

虽然我希望在这个imshow数字的顶部有一个x和y的线图.

这可能吗?

num*_*tar 8

当然有可能:

x = arange(1,5,0.01)
yarr = vstack((x,))
y = sin(x)

imshow(yarr, extent=(min(x),max(x), min(y),max(y)), cmap=cm.hot)
plot(x, y, color='cornflowerblue',lw=4)
Run Code Online (Sandbox Code Playgroud)

extent关键字将图像的限制与绘制的数据相匹配.

这会给你: 这个

  • 抱歉,这使imshow()基于两个轴。对于仅基于y值的颜色更改,请使用:`yarr = vstack((y,))` (2认同)