【发布时间】:2020-06-30 09:38:59
【问题描述】:
如何填充两条曲线之间的颜色?我想用一种颜色填充水平线上方的曲线所界定的区域,并用另一种不同颜色填充水平线下方的曲线所界定的区域..
random_x = [-180, -160, -140, -100, -70, -40, -10, 20, 50, 80, 110, 120, 140, 165,175, 180]
random_y = [2000000, 700000, 2800000, 4200000, 1000000, 1200000, 3500000, 2000000, 800000, 3900000, 2500000, 1000000,3400000,2400000,2100000, 2000000]
interp1d_cubic = interp1d(random_x, random_y, kind='cubic')
x3 = np.linspace(-180, 180, 100000)
plt.plot(x3, interp1d_cubic(x3), c='k')
y_coord = np.linspace(980000,980000,100000)
plt.plot(x3, y_coord, c='k', linestyle='--')
plt.show()
生成的当前图如下所示:
【问题讨论】:
-
严格来说这不是同一个任务。在较旧的答案中,它是关于在 3 行之间填充,但每对只有一种颜色。在这个上,要求用不同的颜色填充一对。有一种方法: ... y_inter = interp1d_cubic(x3) # 不要一直调用它 plt.plot(x3, y_inter, c='k') ... plt.fill_between(x3,y_coord, y_inter, where = y_coord > y_inter, color = "blue") plt.fill_between(x3,y_coord,y_inter, where = y_coord
标签: python matplotlib graphics colors curve