# VGroup#

Qualified name: `manim.mobject.types.vectorized\_mobject.VGroup`

class VGroup(*vmobjects, **kwargs)[source]#

Bases: `VMobject`

A group of vectorized mobjects.

This can be used to group multiple `VMobject` instances together in order to scale, move, … them together.

Notes

When adding the same mobject more than once, repetitions are ignored. Use `Mobject.copy()` to create a separate copy which can then be added to the group.

Examples

To add `VGroup`, you can either use the `add()` method, or use the + and += operators. Similarly, you can subtract elements of a VGroup via `remove()` method, or - and -= operators:

```>>> from manim import Triangle, Square, VGroup
>>> vg = VGroup()
>>> triangle, square = Triangle(), Square()
VGroup(Triangle)
>>> vg + square   # a new VGroup is constructed
VGroup(Triangle, Square)
>>> vg            # not modified
VGroup(Triangle)
>>> vg += square; vg  # modifies vg
VGroup(Triangle, Square)
>>> vg.remove(triangle)
VGroup(Square)
>>> vg - square; # a new VGroup is constructed
VGroup()
>>> vg   # not modified
VGroup(Square)
>>> vg -= square; vg # modifies vg
VGroup()
```

Example: ArcShapeIris ```from manim import *

class ArcShapeIris(Scene):
def construct(self):
colors = [DARK_BROWN, BLUE_E, BLUE_D, BLUE_A, TEAL_B, GREEN_B, YELLOW_E]
radius = [1 + rad * 0.1 for rad in range(len(colors))]

circles_group = VGroup()

# zip(radius, color) makes the iterator [(radius[i], color[i]) for i in range(radius)]
```

Methods

 `add` Checks if all passed elements are an instance of VMobject and then add them to submobjects

Attributes

 `animate` Used to animate the application of any method of `self`. `animation_overrides` `color` `depth` The depth of the mobject. `fill_color` If there are multiple colors (for gradient) this returns the first one `height` The height of the mobject. `sheen_factor` `stroke_color` `width` The width of the mobject.

Checks if all passed elements are an instance of VMobject and then add them to submobjects

Parameters

vmobjects (`VMobject`) – List of VMobject to add

Return type

`VGroup`

Raises

TypeError – If one element of the list is not an instance of VMobject

Examples

```from manim import *

def construct(self):
circle_red = Circle(color=RED)
circle_green = Circle(color=GREEN)
circle_blue = Circle(color=BLUE)
circle_red.shift(LEFT)
circle_blue.shift(RIGHT)
gr = VGroup(circle_red, circle_green)
gr2 = VGroup(circle_blue) # Constructor uses add directly
self.wait()
gr += gr2 # Add group to another
self.play(
gr.animate.shift(DOWN),
)
gr -= gr2 # Remove group
self.play( # Animate groups separately
gr.animate.shift(LEFT),
gr2.animate.shift(UP),
)
self.play( #Animate groups without modification
(gr+gr2).animate.shift(RIGHT)
)
self.play( # Animate group without component
(gr-circle_red).animate.shift(RIGHT)
)
```