ReImPlot
✖
ReImPlot
Details and Options




- ReImPlot evaluates f at different values of x to create smooth curves of the form {x,Re[f[x]]} and {x,Im[f[x]]}.
- Gaps are left at any x where the fi evaluate to non-numeric values.
- The region reg can be any RegionQ object in 1D.
- ReImPlot treats the variable x as local, effectively using Block.
- ReImPlot has attribute HoldAll and evaluates f only after assigning specific numerical values to x.
- In some cases, it may be more efficient to use Evaluate to evaluate f symbolically before specific numerical values are assigned to x.
- Wrappers apply to both Re[f] and Im[f].
- The following wrappers w can be used for the fi:
-
Annotation[fi,label] provide an annotation for the fi Button[fi,action] evaluate action when the curve for fi is clicked Callout[fi,label] label the function with a callout Callout[fi,label,pos] place the callout at relative position pos EventHandler[fi,events] define a general event handler for fi Highlighted[fi,effect] dynamically highlight fi with an effect Highlighted[fi,Placed[effect,pos]] statically highlight fi with an effect at position pos Hyperlink[fi,uri] make the function a hyperlink Labeled[fi,label] label the function Labeled[fi,label,pos] place the label at relative position pos Legended[fi,label] identify the function in a legend PopupWindow[fi,cont] attach a popup window to the function StatusArea[fi,label] display in the status area on mouseover Style[fi,styles] show the function using the specified styles Tooltip[fi,label] attach a tooltip to the function Tooltip[fi] use functions as tooltips - Wrappers w can be applied at multiple levels:
-
w[fi] wrap the fi w[{f1,…}] wrap a collection of fi w1[w2[…]] use nested wrappers - Callout, Labeled and Placed can use the following positions pos:
-
Automatic automatically placed labels Above, Below, Before, After positions around the curve x near the curve at a position x Scaled[s] scaled position s along the curve {s,Above},{s,Below},… relative position at position s along the curve {pos,epos} epos in label placed at relative position pos of the curve - ReImPlot has the same options as Plot, with the following additions and changes: [List of all options]
-
ReImLabels Automatic how to annotate the real and imaginary components ReImStyle Automatic how to style the real and imaginary components - Possible settings for ClippingStyle are:
-
Automatic use a dotted line for the clipped portion None omit the clipped portion of the curve style use style for the clipped portion - With the default settings Exclusions->Automatic and ExclusionsStyle->None, Plot breaks curves at discontinuities and singularities it detects. Exclusions->None joins across discontinuities and singularities.
- Exclusions->{x1,x2,…} is equivalent to Exclusions->{x==x1,x==x2,…}.
- Possible settings for PlotLegends are:
-
None do not include legends "Expressions" use a legend for the fi "ReIm" use a legend for the real and imaginary styles "ReImExpressions" use separate legends for the plot, real and imaginary styles Automatic use a legend for all style combinations {lbl1,lbl2,…} use lbli to legend fi Placed[leg,pos] specify placement pos of legend leg {leg1,leg2,…} include multiple legends - Possible highlighting effects for Highlighted and PlotHighlighting include:
-
style highlight the indicated curve "Ball" highlight and label the indicated point in a curve "Dropline" highlight and label the indicated point in a curve with droplines to the axes "XSlice" highlight and label all points along a vertical slice "YSlice" highlight and label all points along a horizontal slice Placed[effect,pos] statically highlight the given position pos - Highlight position specifications pos include:
-
x, {x} effect at {x,y} with y chosen automatically {x,y} effect at {x,y} {pos1,pos2,…} multiple positions posi - ReImPlot initially evaluates f at a number of equally spaced sample points specified by PlotPoints. Then it uses an adaptive algorithm to choose additional sample points, subdividing a given interval at most MaxRecursion times.
- Since only a finite number of sample points are used, it is possible for ReImPlot to miss features of f. Increasing the settings for PlotPoints and MaxRecursion will often catch such features.
- Themes that affect curves include:
-
"ThinLines" thin plot lines "MediumLines" medium plot lines "ThickLines" thick plot lines - The arguments supplied to functions in MeshFunctions and RegionFunction are x, y. Functions in ColorFunction are by default supplied with scaled versions of these arguments.
- ScalingFunctions->"scale" scales the
coordinate; ScalingFunctions{"scalex","scaley"} scales both the
and
coordinates.
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio 1/GoldenRatio ratio of height to width Axes True whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic ClippingStyle None what to draw where curves are clipped ColorFunction Automatic how to determine the coloring of curves ColorFunctionScaling True whether to scale arguments to ColorFunction ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool Epilog {} primitives rendered after the main plot EvaluationMonitor None expression to evaluate at every function evaluation Exclusions Automatic points in x to exclude ExclusionsStyle None what to draw at excluded points Filling None filling to insert under each curve FillingStyle Automatic style to use for filling FormatType TraditionalForm the default format type for text Frame False whether to put a frame around the plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame ticks FrameTicksStyle {} style specifications for frame ticks GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic LabelingSize Automatic maximum size of callouts and labels LabelStyle {} style specifications for labels MaxRecursion Automatic the maximum number of recursive subdivisions allowed Mesh None how many mesh points to draw on each curve MeshFunctions {#1&} how to determine the placement of mesh points MeshShading None how to shade regions between mesh points MeshStyle Automatic the style for mesh points Method Automatic the method to use for refining curves PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotHighlighting Automatic highlighting effect for curves PlotLabel None overall label for the plot PlotLabels None labels to use for curves PlotLayout Automatic how to position curves PlotLegends None legends for curves PlotPoints Automatic initial number of sample points PlotRange {Full,Automatic} the range of y or other values to include PlotRangeClipping True whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PlotStyle Automatic graphics directives to specify the style for each curve PlotTheme $PlotTheme overall theme for the plot PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RegionFunction (True&) how to determine whether a point should be included ReImLabels Automatic how to annotate the real and imaginary components ReImStyle Automatic how to style the real and imaginary components RotateLabel True whether to rotate y labels on the frame ScalingFunctions None how to scale individual coordinates TargetUnits Automatic units to display in the plot Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks WorkingPrecision MachinePrecision the precision used in internal computations


List of all options




Examples
open allclose allBasic Examples (3)Summary of the most common use cases
Scope (23)Survey of the scope of standard use cases
Sampling (9)
More points are sampled where the function changes quickly:

https://wolfram.com/xid/0d6hatkla6-ducc3t

The plot range is selected automatically:

https://wolfram.com/xid/0d6hatkla6-ftfv8y

Use PlotRange to focus in on areas of interest:

https://wolfram.com/xid/0d6hatkla6-byqjcr

The curve is split when there are discontinuities in the function:

https://wolfram.com/xid/0d6hatkla6-sg43f

Use ExclusionsNone to draw connected curves:

https://wolfram.com/xid/0d6hatkla6-bm0re2

Use PlotPoints and MaxRecursion to control adaptive sampling:

https://wolfram.com/xid/0d6hatkla6-epvkog

The domain can be specified by a region:

https://wolfram.com/xid/0d6hatkla6-cshrpw

https://wolfram.com/xid/0d6hatkla6-gperxv

Specify a domain using a MeshRegion:

https://wolfram.com/xid/0d6hatkla6-en76be

https://wolfram.com/xid/0d6hatkla6-g6fnx


https://wolfram.com/xid/0d6hatkla6-ba1e4c

Labeling and Legending (8)
There are two standard legends:

https://wolfram.com/xid/0d6hatkla6-dfaxaf


https://wolfram.com/xid/0d6hatkla6-eqaz3j

Use legends with combined styles:

https://wolfram.com/xid/0d6hatkla6-w0qtwo

Explicitly label the individual curves:

https://wolfram.com/xid/0d6hatkla6-bfrgu

Identify curves with wrappers:

https://wolfram.com/xid/0d6hatkla6-brun2e

Curves usually have interactive callouts showing the coordinates when you mouse over them:

https://wolfram.com/xid/0d6hatkla6-wniqin

Choose from multiple interactive highlighting effects:

https://wolfram.com/xid/0d6hatkla6-hxc03i

Use Highlighted to emphasize specific points in a plot:

https://wolfram.com/xid/0d6hatkla6-d63gtz


https://wolfram.com/xid/0d6hatkla6-b4senm

Presentation (6)
Multiple pairs of curves are automatically colored to be distinct:

https://wolfram.com/xid/0d6hatkla6-oipik

Provide explicit styling to different curves:

https://wolfram.com/xid/0d6hatkla6-q9hc6i


https://wolfram.com/xid/0d6hatkla6-hc1x5o


https://wolfram.com/xid/0d6hatkla6-mq1q2


https://wolfram.com/xid/0d6hatkla6-ri765

Use ScalingFunctions to scale the axes:

https://wolfram.com/xid/0d6hatkla6-clk9qk

Options (65)Common values & functionality for each option
ClippingStyle (2)
ColorFunction (4)
Color by a scaled coordinate and scaled
coordinate, respectively:

https://wolfram.com/xid/0d6hatkla6-gip2pg


https://wolfram.com/xid/0d6hatkla6-g8ys7b

ColorFunction has higher priority than PlotStyle:

https://wolfram.com/xid/0d6hatkla6-njy3my


https://wolfram.com/xid/0d6hatkla6-nwm88o

ColorFunctionScaling (1)
Exclusions (2)
ExclusionStyle (1)
Filling (4)
Use symbolic or explicit values:

https://wolfram.com/xid/0d6hatkla6-firtyf

Fill between curve 1 and the axis:

https://wolfram.com/xid/0d6hatkla6-k2xbq3


https://wolfram.com/xid/0d6hatkla6-bqofva

Fill between the real and imaginary parts of each function:

https://wolfram.com/xid/0d6hatkla6-n5d3d8

FillingStyle (3)

https://wolfram.com/xid/0d6hatkla6-jg5edg

Fill with red below the axis and blue above:

https://wolfram.com/xid/0d6hatkla6-hnbzvy

Use a variable filling style obtained from a ColorFunction:

https://wolfram.com/xid/0d6hatkla6-cus6o5

MaxRecursion (1)
Each level of MaxRecursion adaptively subdivides the initial mesh into a finer mesh:

https://wolfram.com/xid/0d6hatkla6-rzop0j

Mesh (3)
Show the initial and final sampling meshes:

https://wolfram.com/xid/0d6hatkla6-djhl6c

Use 10 mesh points evenly spaced in the direction:

https://wolfram.com/xid/0d6hatkla6-b9hmb1

Use an explicit list of values for the mesh in the direction:

https://wolfram.com/xid/0d6hatkla6-f7x17b

MeshFunctions (2)
MeshShading (3)
Alternate red and blue arcs in the direction:

https://wolfram.com/xid/0d6hatkla6-glxp76

MeshShading has higher priority than PlotStyle for styling:

https://wolfram.com/xid/0d6hatkla6-loq78s

Use PlotStyle for some segments by setting MeshShading to Automatic:

https://wolfram.com/xid/0d6hatkla6-lvuqsu

MeshStyle (2)
PerformanceGoal (2)
PlotHighlighting (8)
Plots have interactive coordinate callouts with the default setting PlotHighlightingAutomatic:

https://wolfram.com/xid/0d6hatkla6-zcloq6

Use PlotHighlightingNone to disable the highlighting for the entire plot:

https://wolfram.com/xid/0d6hatkla6-f6v156

Use Highlighted[…,None] to disable highlighting for a single curve:

https://wolfram.com/xid/0d6hatkla6-u4so5

Move the mouse over the curve to highlight it with a ball and label:

https://wolfram.com/xid/0d6hatkla6-chvigl

Use a ball and label to highlight a specific point on the curve:

https://wolfram.com/xid/0d6hatkla6-gf5g22

Move the mouse over the curve to highlight it with a label and droplines to the axes:

https://wolfram.com/xid/0d6hatkla6-jsssvs

Use a ball and label to highlight a specific point on the curve:

https://wolfram.com/xid/0d6hatkla6-y1t9v

Move the mouse over the plot to highlight it with a slice showing values corresponding to the
position:

https://wolfram.com/xid/0d6hatkla6-f8nj6g

Highlight the curves at a fixed value:

https://wolfram.com/xid/0d6hatkla6-c6cyo2

Move the mouse over the plot to highlight it with a slice showing values corresponding to the
position:

https://wolfram.com/xid/0d6hatkla6-3g8bt

Use a component that shows the points on the curve closest to the position of the mouse cursor:

https://wolfram.com/xid/0d6hatkla6-hja4ku

Specify the style for the points:

https://wolfram.com/xid/0d6hatkla6-bspi72

Use a component that shows the coordinates on the curve closest to the mouse cursor:

https://wolfram.com/xid/0d6hatkla6-grv8hb

Use Callout options to change the appearance of the label:

https://wolfram.com/xid/0d6hatkla6-cps0u5

Combine components to create a custom effect:

https://wolfram.com/xid/0d6hatkla6-mhpi2x

PlotLabel (1)
PlotLabels (6)

https://wolfram.com/xid/0d6hatkla6-bb3xek

Modify the appearance of the labels:

https://wolfram.com/xid/0d6hatkla6-img37g

Place the labels differently for each curve:

https://wolfram.com/xid/0d6hatkla6-k614hh

PlotLabels"Expressions" uses functions as curve labels:

https://wolfram.com/xid/0d6hatkla6-87h4y

Use callouts to identify the curves:

https://wolfram.com/xid/0d6hatkla6-j8bian

Use None to not add a label:

https://wolfram.com/xid/0d6hatkla6-0z0nl

PlotLegends (7)
Create a legend based on the functions:

https://wolfram.com/xid/0d6hatkla6-cx2cwj

Use "ReIm" to distinguish between the real and imaginary parts of the function:

https://wolfram.com/xid/0d6hatkla6-g6zjl2

Use "ReImExpressions" to show both:

https://wolfram.com/xid/0d6hatkla6-dkxh8

Use a legend showing all the style combinations:

https://wolfram.com/xid/0d6hatkla6-xykqns


https://wolfram.com/xid/0d6hatkla6-ljoatj


https://wolfram.com/xid/0d6hatkla6-cpm2zr


https://wolfram.com/xid/0d6hatkla6-f1h8ub

PlotPoints (1)
PlotRange (1)
PlotStyle (3)
Explicitly specify the style for different curves and regions:

https://wolfram.com/xid/0d6hatkla6-bi8doj

ReImStyle takes precedence over PlotStyle:

https://wolfram.com/xid/0d6hatkla6-ersvr

Combine with ReImStyle:

https://wolfram.com/xid/0d6hatkla6-fmg8qx

PlotTheme (3)
RegionFunction (1)
ReImLabels (2)
Applications (7)Sample problems that can be solved with this function

https://wolfram.com/xid/0d6hatkla6-vyswt

https://wolfram.com/xid/0d6hatkla6-b32jhi

Plot the solution of a complex differential equation with initial conditions:

https://wolfram.com/xid/0d6hatkla6-g44ljm

https://wolfram.com/xid/0d6hatkla6-j9r1v

Plot the eigenvalues of a matrix as a function of a parameter:

https://wolfram.com/xid/0d6hatkla6-j03w9g

Plot solutions of an equation as a function of a parameter:

https://wolfram.com/xid/0d6hatkla6-h8iydb


https://wolfram.com/xid/0d6hatkla6-ev3cat

Plot fractional derivatives of :

https://wolfram.com/xid/0d6hatkla6-iu96fj

Plot the complex solution of the Schrödinger equation for a particle in a box:

https://wolfram.com/xid/0d6hatkla6-eohsum

Properties & Relations (8)Properties of the function, and connections to other functions
ReImPlot is a special case of Plot:

https://wolfram.com/xid/0d6hatkla6-bbiuct

Use AbsArgPlot to plot the magnitude and argument over the real numbers:

https://wolfram.com/xid/0d6hatkla6-mqa938

ComplexPlot shows the argument and magnitude of a function using color:

https://wolfram.com/xid/0d6hatkla6-e28611

Use ComplexPlot3D to use the z axis for the magnitude:

https://wolfram.com/xid/0d6hatkla6-vgce1e

Use ComplexListPlot to show the location of complex numbers in the plane:

https://wolfram.com/xid/0d6hatkla6-wyd4bn

ComplexContourPlot plots curves over the complexes:

https://wolfram.com/xid/0d6hatkla6-pesif0

ComplexRegionPlot plots regions over the complexes:

https://wolfram.com/xid/0d6hatkla6-ko83ut

ComplexStreamPlot and ComplexVectorPlot treat complex numbers as directions:

https://wolfram.com/xid/0d6hatkla6-1lc4cy


https://wolfram.com/xid/0d6hatkla6-7studa

Possible Issues (1)Common pitfalls and unexpected behavior
ScalingFunctions applies to the real and imaginary parts:

https://wolfram.com/xid/0d6hatkla6-dbf5hg

Wolfram Research (2019), ReImPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/ReImPlot.html (updated 2023).
Text
Wolfram Research (2019), ReImPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/ReImPlot.html (updated 2023).
Wolfram Research (2019), ReImPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/ReImPlot.html (updated 2023).
CMS
Wolfram Language. 2019. "ReImPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/ReImPlot.html.
Wolfram Language. 2019. "ReImPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/ReImPlot.html.
APA
Wolfram Language. (2019). ReImPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ReImPlot.html
Wolfram Language. (2019). ReImPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ReImPlot.html
BibTeX
@misc{reference.wolfram_2025_reimplot, author="Wolfram Research", title="{ReImPlot}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/ReImPlot.html}", note=[Accessed: 11-July-2025
]}
BibLaTeX
@online{reference.wolfram_2025_reimplot, organization={Wolfram Research}, title={ReImPlot}, year={2023}, url={https://reference.wolfram.com/language/ref/ReImPlot.html}, note=[Accessed: 11-July-2025
]}