如何在 x 和两个函数(交集)之间填充?
How to fill between x and two functions (intersection)?
如何填充两个函数之间的交集?
我有这个:
我需要 f1 和 f2 之间的交集 (min(f1, f2))。像这样:
这是我的代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.array(np.linspace(0, 10, 1000))
f1 = eval('-x+10')
f2 = eval('x')
plt.plot(x, f1, label='f1')
plt.plot(x, f2, label='f2')
plt.fill_between(x, f1, f2, alpha=.5)
plt.legend()
plt.show()
您的问题简化为能够找到 f1
和 f2
的元素最小值。 Numpy 有 numpy.minimum
正是这样做的。所以下面的代码给出了想要的情节:
import matplotlib.pyplot as plt
import numpy as np
x = np.array(np.linspace(0, 10, 1000))
f1 = eval('-x+10')
f2 = eval('x')
f3 = np.minimum(f1, f2)
plt.plot(x, f1, label='f1')
plt.plot(x, f2, label='f2')
plt.fill_between(x, f3, alpha=.5)
plt.legend()
plt.show()
如何填充两个函数之间的交集?
我有这个:
我需要 f1 和 f2 之间的交集 (min(f1, f2))。像这样:
这是我的代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.array(np.linspace(0, 10, 1000))
f1 = eval('-x+10')
f2 = eval('x')
plt.plot(x, f1, label='f1')
plt.plot(x, f2, label='f2')
plt.fill_between(x, f1, f2, alpha=.5)
plt.legend()
plt.show()
您的问题简化为能够找到 f1
和 f2
的元素最小值。 Numpy 有 numpy.minimum
正是这样做的。所以下面的代码给出了想要的情节:
import matplotlib.pyplot as plt
import numpy as np
x = np.array(np.linspace(0, 10, 1000))
f1 = eval('-x+10')
f2 = eval('x')
f3 = np.minimum(f1, f2)
plt.plot(x, f1, label='f1')
plt.plot(x, f2, label='f2')
plt.fill_between(x, f3, alpha=.5)
plt.legend()
plt.show()