def label_integral(self):
    words = TextMobject("``Integral of $v(t)$''")
    words.to_edge(UP)
    arrow = Arrow(words.get_right(), self.integral.get_left())
    self.play(Indicate(self.integral))
    self.play(Write(words, run_time=2))
    self.play(ShowCreation(arrow))
    self.wait()
    self.play(*([ApplyFunction((lambda r: r.shift((0.2 * UP)).set_fill(None, 1)), rect, run_time=3, rate_func=squish_rate_func(there_and_back, alpha, (alpha + 0.2))) for (rect, alpha) in zip(self.rects, np.linspace(0, 0.8, len(self.rects)))] + [Animation(self.area_arrow), self.morty.change_mode, 'happy', self.morty.look_at, self.rects]))
    self.wait()
def label_integral(self):
    words = TextMobject("``Integral of $v(t)$")
    words.to_edge(UP)
    arrow = Arrow(words.get_right(), self.integral.get_left())
    self.play(Indicate(self.integral))
    self.play(Write(words, run_time=2))
    self.play(ShowCreation(arrow))
    self.wait()
    self.play(*([ApplyFunction((lambda r: r.shift((0.2 * UP)).set_fill(None, 1)), rect, run_time=3, rate_func=squish_rate_func(there_and_back, alpha, (alpha + 0.2))) for (rect, alpha) in zip(self.rects, np.linspace(0, 0.8, len(self.rects)))] + [Animation(self.area_arrow), self.morty.change_mode, 'happy', self.morty.look_at, self.rects]))
    self.wait()