def note_units(self):
    (x_line, y_line) = lines = VGroup(*[axis.copy() for axis in (self.x_axis, self.y_axis)])
    lines.set_color(TIME_COLOR)
    square = Square(stroke_color=BLACK, stroke_width=1, fill_color=self.units_of_area_color, fill_opacity=1)
    square.replace(VGroup(*[VectorizedPoint(self.coords_to_point(i, i)) for i in (0, 1)]), stretch=True)
    units_of_area = VGroup(*[square.copy().move_to(self.coords_to_point(x, y), (DOWN + LEFT)) for x in range(8) for y in range(10)])
    self.play(ShowCreation(x_line))
    self.play(Indicate(self.x_axis_label_mob))
    self.play(FadeOut(x_line))
    self.play(ShowCreation(y_line), self.randy.look_at, self.y_axis_label_mob)
    self.play(Indicate(self.y_axis_label_mob))
    self.play(FadeOut(y_line))
    for FadeClass in (FadeIn, FadeOut):
        self.play(FadeClass(units_of_area, lag_ratio=0.5, run_time=3), Animation(self.s_label), self.randy.look_at, self.area_rect)
    self.play(Blink(self.randy))
    self.wait()
def note_units(self):
    (x_line, y_line) = lines = VGroup(*[axis.copy() for axis in (self.x_axis, self.y_axis)])
    lines.set_color(TIME_COLOR)
    square = Square(stroke_color=BLACK, stroke_width=1, fill_color=self.units_of_area_color, fill_opacity=1)
    square.replace(VGroup(*[VectorizedPoint(self.coords_to_point(i, i)) for i in (0, 1)]), stretch=True)
    units_of_area = VGroup(*[square.copy().move_to(self.coords_to_point(x, y), (DOWN + LEFT)) for x in range(8) for y in range(10)])
    self.play(ShowCreation(x_line))
    self.play(Indicate(self.x_axis_label_mob))
    self.play(FadeOut(x_line))
    self.play(ShowCreation(y_line), self.randy.look_at, self.y_axis_label_mob)
    self.play(Indicate(self.y_axis_label_mob))
    self.play(FadeOut(y_line))
    for FadeClass in (FadeIn, FadeOut):
        self.play(FadeClass(units_of_area, lag_ratio=0.5, run_time=3), Animation(self.s_label), self.randy.look_at, self.area_rect)
    self.play(Blink(self.randy))
    self.wait()