填充两条曲线之间的颜色

时间:2019-09-05 16:11:44

标签: matplotlib

我从数据中得出了两个数字。现在,我想在这两条曲线之间填充颜色。 如何在图1和图2之间填充红色/灰色?可以在两条曲线之间写一些东西吗?

.sh

1 个答案:

答案 0 :(得分:3)

有一对plt.fill_between(),它们共享相同的x数据。
就图形精度而言,这对您的示例来说是正确的,因此您可以进行测试以简单地添加

plt.fill_between(A, B, C, color='grey')

您的脚本。

但是,如果您的两条曲线的x值明显不同,则可能必须对此命令重新采样一条或两条。

enter image description here


示例,包括用于放置文本的命令以及如何使某些事情更高效和可读性

import matplotlib.pyplot as plt
import numpy as np

A1 = [433, 628, 818, 1033]
A = np.log(A1) / np.log(2)


B = [0.3831877729, 0.400606980300000, 0.411592505900000, 0.420391061500000]

C = [0.309248554900000, 0.317584568100000, 0.326892109500000, 0.328224407200000]

D = [433, 628, 818, 1032]
D1 = np.log(D) / np.log(2)

plt.figure(figsize=(10, 4.75), dpi=100)
plt.plot(A, B, color='b')
plt.plot(D1, C, color='g')

plt.fill_between(A, B, C, color='grey') 

plt.text(9.4, .36, 'New idea', va='center', ha='center', size=24)

plt.grid(True)
plt.show()