为了账号安全,请及时绑定邮箱和手机立即绑定

很多问题都讲得不清不楚!比如三角函数填充

讲的很模糊,填充区域的原理,估计没有人可以听懂在讲什么

正在回答

5 回答

plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.5, color="green", alpha=0.25)

第一个参数x表示x轴,第二个参数 np.abs(x)表示x的绝对值,np.abs(x) < 0.5是一个判定变量,c表示y轴,c > 0.5是一个判定条件。

当np.abs(x) < 0.5为真(1),从y轴的1(满足c>0.5)开始往两边填充(当然X轴上是-0.5到0.5之间的区域),此时填充的也就是图上方的两小块。当np.abs(x) >= 0.5为假(0),从y轴的0开始向上填充,当然只填充c>0.5的区域,也就是图中那两个大的对称区域。

总的来说,必须满足c>0.5(对应API文档中的where条件),在这个前提下进行填充,前面那个判定变量可以为0或1.

个人理解,,

1 回复 有任何疑惑可以回复我~
#1

鼠尾草17

还不是很明白,y轴的填充方向是怎么确定的?
2017-08-30 回复 有任何疑惑可以回复我~
#2

_Geng 回复 鼠尾草17

就是在x,c之间填充, abs(x) > 0.5, 就在0,c(即cos(x))之间填充, 还需要c大于0.5
2018-05-11 回复 有任何疑惑可以回复我~
总结前面大佬的回答,自己也上官网看了,感觉自己终于能理解了
plt.fill_between(x, np.abs(x)<0.5, c, c>0.5, color="green", alpha=0.25)
#对照官网matplotlib.pyplot.fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, *, data=None, **kwargs)
#其中x是必写的表示x轴, y1是第一条曲线, y2是第二条曲线, 这个函数的意思就是要在满足where的条件下在y1与y2曲线之间填充
#在我们的这句话中, np.abs(x)<0.5就是y1, 是一个布尔值, c就是y2, 是cos(x).
#当|x|<0.5时布尔值为1, 即y1就是1, 此时填充y1=1和y2=c之间的部分. |x|>=0.5时布尔值为0, 即y1就是0, 此时填充y1=0和y2=c之间的部分
#c>0.5其实是判断条件, 完整写应该是where=c>0.5, 意思是在c>0.5的条件下完成前面的填充


2 回复 有任何疑惑可以回复我~

我也来解释下,看是否清楚

matplotlib.pyplot.fill_between(xy1y2=0where=Noneinterpolate=Falsestep=Nonehold=Nonedata=None**kwargs)[source]

  • x : array (length N)

  • The x coordinates of the nodes defining the curves.

  • y1 : array (length N) or scalar

  • The y coordinates of the nodes defining the first curve.

  • y2 : array (length N) or scalar, optional, default: 0

  • The y coordinates of the nodes defining the second curve.

必须看官网才明白,第二个参数y1是曲线1,第三个参数y2是曲线2

---------------------------------------------------------------------------------

plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.5, color="green", alpha=0.25)

abs(x)<0.5,当-arccos(0.5)<x<-0.5,0.5<x<arccos(0.5)时,该表达式为假(即0),也就是y1=0就是x轴,反之表达式取1,就是y1=1

曲线2就是y2=c,(但c限定大于0.5那一小段范围)

把曲线1和曲线2围成图形就是课程中的样子

如下:

从y=0到y=c   (-arccos(0.5)<x<-0.5,0.5<x<arccos(0.5));

从y=1到y=c   (-0.5<x<0.5)

1 回复 有任何疑惑可以回复我~

一大半的人听不懂

0 回复 有任何疑惑可以回复我~

c表示的应该就是c=cos(x)这个曲线,而不是y轴。其它正解。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

很多问题都讲得不清不楚!比如三角函数填充

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信