finished area model 3

This commit is contained in:
Ben Hambrecht 2018-04-20 08:48:28 +02:00
parent aa178628a8
commit 77379c8907

View file

@ -728,7 +728,7 @@ class IllustrateAreaModel1(Scene):
Transform(indep_formula.get_part_by_tex("\cdot"), rearranged_formula[2][8]), Transform(indep_formula.get_part_by_tex("\cdot"), rearranged_formula[2][8]),
) )
rect = SurroundingRectangle(rearranged_formula) rect = SurroundingRectangle(rearranged_formula, buff = 0.5 * MED_LARGE_BUFF)
self.play(ShowCreation(rect)) self.play(ShowCreation(rect))
@ -863,7 +863,7 @@ class IllustrateAreaModel3(Scene):
def construct(self): def construct(self):
formula = TexMobject("E[X] = \sum_{i=1}^N p_i x_i").move_to(3 * LEFT + UP) formula = TexMobject("E[X] = \sum_{i=1}^N p_i x_i").move_to(3 * LEFT + UP)
self.add(formula) self.play(Write(formula))
x_scale = 5.0 x_scale = 5.0
@ -904,18 +904,14 @@ class IllustrateAreaModel3(Scene):
group = VGroup(brace, p_label) group = VGroup(brace, p_label)
braces.add(brace) braces.add(brace)
p_labels.add(p_label) p_labels.add(p_label)
self.play( self.play(
Write(group) LaggedStart(FadeIn,braces),
LaggedStart(FadeIn, p_labels)
) )
labels = VGroup()
for (y, bar) in zip(y_values, hist.bars):
label = TexMobject(str(int(y))).scale(0.7).next_to(bar, UP, buff = SMALL_BUFF)
self.play(FadeIn(label))
labels.add(label)
y_average = np.mean(y_values) y_average = np.mean(y_values)
averaged_y_values = y_average * np.ones(np.shape(y_values)) averaged_y_values = y_average * np.ones(np.shape(y_values))
@ -923,27 +919,33 @@ class IllustrateAreaModel3(Scene):
mode = "widths", mode = "widths",
x_scale = x_scale, x_scale = x_scale,
y_scale = y_scale, y_scale = y_scale,
x_labels = "none" x_labels = "none",
y_labels = "none"
).fade(0.2) ).fade(0.2)
ghost_hist = hist.copy().fade(0.8) ghost_hist = hist.copy().fade(0.8)
labels.fade(0.8)
self.bring_to_back(ghost_hist) self.bring_to_back(ghost_hist)
self.play(Transform(hist, averaged_hist)) self.play(Transform(hist, averaged_hist, run_time = 3))
self.wait()
average_label = TexMobject(str(y_average)).scale(0.7).next_to(averaged_hist, UP, SMALL_BUFF) average_brace = Brace(averaged_hist, RIGHT, buff = 0.1)
average_label = TexMobject(str(y_average)).scale(0.7)
average_label.next_to(average_brace, RIGHT, SMALL_BUFF)
average_group = VGroup(average_brace, average_label)
one_brace = Brace(averaged_hist, DOWN, buff = 0.1) one_brace = Brace(averaged_hist, DOWN, buff = 0.1)
one_p_label = TexMobject(str(1)).next_to(one_brace, DOWN, buff = SMALL_BUFF).scale(0.7) one_p_label = TexMobject(str(1)).next_to(one_brace, DOWN, buff = SMALL_BUFF).scale(0.7)
one_group = VGroup(one_brace, one_p_label) one_group = VGroup(one_brace, one_p_label)
self.play( self.play(
FadeIn(average_label), FadeIn(average_group),
Transform(braces, one_brace), Transform(braces, one_brace),
Transform(p_labels, one_p_label), Transform(p_labels, one_p_label),
) )
rect = SurroundingRectangle(formula, buff = 0.5 * MED_LARGE_BUFF)
self.play(ShowCreation(rect))