Scale
Details
- Scale[g,s] scales with the center of the bounding box of g kept fixed.
- You can specify special points such as {Left,Bottom} within the bounding box for g to be kept fixed.
- The x position can be specified as Left, Center, or Right; the y position as Bottom, Center, or Top.
- Explicit coordinates {x,y} are taken to be in the coordinate system of the graphic in which Scale[…] appears.
- For objects specified with scaled coordinates Scaled[{x,y}], Scale effectively applies its transformation to the corresponding ordinary coordinates.
- Scale can modify the regions allocated to Text and Inset objects, but does not directly affect their contents, and does not scale fonts or other textual elements. »
- Normal[expr] if possible replaces all Scale[gi,…] constructs by versions of the gi in which the coordinates have explicitly been transformed.
Examples
open all close allBasic Examples (2)
Scope (6)
Transformation applied to a 2D shape:
gr = {Rectangle[], AbsolutePointSize[10], Opacity[1], {Magenta, Point[{0, 0}]}, {Green, Point[{1, 1}]}};Graphics[{{Opacity[.35], Blue, gr}, Scale[{Opacity[.85], Red, gr}, .5]}]Transformation applied to a 3D shape:
gr = {Cuboid[], AbsolutePointSize[10], Opacity[1], {Magenta, Point[{0, 0, 0}]}, {Green, Point[{1, 1, 1}]}};Graphics3D[{{Opacity[.35], Blue, gr}, Scale[{Opacity[.85], Red, gr}, .5, {.5, .5, .5}]}, Boxed -> False]The transformations can be nested:
Graphics3D[Scale[Rotate[Cuboid[], {{1, 1, 1}, {0, 0, 1}}], {1, 1, 1.5}, {0, 0, 0}], Boxed -> False]Apply transformation to scaled coordinates:
Graphics[Scale[Circle[Scaled[{1, 0}]], 2], Axes -> True]Graphics[Scale[Circle[Scaled[{1, 0}]], .5, {1, 0}], Axes -> True]Keep the top-left corner of the circle's bounding box fixed:
Graphics[Scale[Circle[Scaled[{1, 0}]], .5, {Left, Top}], Axes -> True]Generalizations & Extensions (2)
Use Scale to flip text along the
axis:
Graphics[Scale[Text[Style["AaBbCc", 20, FontFamily -> "Helvetica"]], {-1, 1}]]Graphics[Scale[Text[Style["AaBbCc", 20, FontFamily -> "Helvetica"]], {1, -1}]]The size of text is affected by Scale only when it is specified using Scaled:
Table[Graphics[Scale[Text[Style["AaBbCc", 20, FontSize -> Scaled[.1], FontFamily -> "Helvetica"]], s], PlotRange -> 1], {s, {{-1, 1}, {-2, 2}}}]Properties & Relations (1)
When possible, Normal will transform the coordinates explicitly:
Normal@Scale[Cuboid[{x, y, z}], {1, 1, -1}, {0, 0, 0}]Possible Issues (1)
By default, scaling in 2D is done to keep the center of the bounding box fixed:
Graphics[{Opacity[0.5], Scale[Rectangle[], .5]}, Axes -> True, PlotRange -> 1]Explicitly set the origin to be fixed:
Graphics[{Opacity[0.5], Scale[Rectangle[], .5, {0, 0}]}, Axes -> True, PlotRange -> 1]Related Guides
Related Workflows
- Rotate, Pan, and Zoom 3D Graphics
Text
Wolfram Research (2007), Scale, Wolfram Language function, https://reference.wolfram.com/language/ref/Scale.html (updated 2008).
CMS
Wolfram Language. 2007. "Scale." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2008. https://reference.wolfram.com/language/ref/Scale.html.
APA
Wolfram Language. (2007). Scale. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Scale.html
BibTeX
@misc{reference.wolfram_2026_scale, author="Wolfram Research", title="{Scale}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/Scale.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_scale, organization={Wolfram Research}, title={Scale}, year={2008}, url={https://reference.wolfram.com/language/ref/Scale.html}, note=[Accessed: 12-June-2026]}