gpt4 book ai didi

python-2.7 - Matplotlib 仅在两个 x 值之间填充曲线下区域

转载 作者:行者123 更新时间:2023-12-02 17:36:49 26 4
gpt4 key购买 nike

我只想填充水平轴上两个值之间的某些曲线下的区域。我试过了

import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm

x = np.linspace(-4,4, 10000)
nVals = [norm.pdf(i,0,1) for i in x]

line = plt.plot(x,nVals)

plt.fill_between(x,nVals,color = '#111111',where = x > -3 and x < -2)
plt.axis([-4,4,0,.5])
plt.show()

但它返回

ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()

我不明白这条信息;当我运行时

z = -2.5
print z > -3 and z < -2

Python 确实理解我的意思并打印

正确

那么,为什么这不适用于 fill_between,我该如何解决呢?

最佳答案

发生这个错误是因为

x > -3 and x < -2

是一个不明确的 numpy 表达式,因此会引发错误。相反,你想要

(x > -3) & (x < -2)

其他选项是使用logical_andbitwise_and (甚至 * 应该可以工作)。

关于python-2.7 - Matplotlib 仅在两个 x 值之间填充曲线下区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26148275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com