Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Wolfram Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • System Modeler
  • Wolfram Player
  • Finance Platform
  • Wolfram Engine
  • Enterprise Private Cloud
  • Application Server
  • Wolfram|Alpha Notebook Edition
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

WolframConsulting.com

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Wolfram Notebook Assistant + LLM Kit
    • System Modeler
    • Wolfram Player
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Wolfram Engine
    • Enterprise Private Cloud
    • Application Server
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
ComplexPlot3D
  • See Also
    • ComplexPlot
    • AbsArgPlot
    • ReImPlot
    • Plot3D
    • ComplexListPlot
    • DensityPlot
    • ContourPlot
    • AbsArg
    • ReIm
  • Related Guides
    • Function Visualization
    • Functions of Complex Variables
    • Complex Visualization
    • See Also
      • ComplexPlot
      • AbsArgPlot
      • ReImPlot
      • Plot3D
      • ComplexListPlot
      • DensityPlot
      • ContourPlot
      • AbsArg
      • ReIm
    • Related Guides
      • Function Visualization
      • Functions of Complex Variables
      • Complex Visualization

ComplexPlot3D[f,{z,zmin,zmax}]

generates a 3D plot of Abs[f] colored by Arg[f] over the complex rectangle with corners zmin and zmax.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Sampling  
Presentation  
Options  
Axes  
AxesLabel  
AxesOrigin  
Show More Show More
AxesStyle  
BoundaryStyle  
BoxRatios  
ClippingStyle  
ColorFunction  
ColorFunctionScaling  
Exclusions  
ExclusionStyle  
Filling  
FillingStyle  
ImageSize  
MaxRecursion  
Mesh  
MeshFunctions  
MeshShading  
MeshStyle  
NormalsFunction  
PlotLegends  
PlotPoints  
PlotRange  
PlotStyle  
PlotTheme  
RegionFunction  
ScalingFunctions  
Ticks  
TicksStyle  
WorkingPrecision  
Applications  
Basic Applications  
Other Applications  
Classic  
General  
Special functions  
Analytic functions  
Physics  
Transforms  
Properties & Relations  
See Also
Related Guides
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • ComplexPlot
    • AbsArgPlot
    • ReImPlot
    • Plot3D
    • ComplexListPlot
    • DensityPlot
    • ContourPlot
    • AbsArg
    • ReIm
  • Related Guides
    • Function Visualization
    • Functions of Complex Variables
    • Complex Visualization
    • See Also
      • ComplexPlot
      • AbsArgPlot
      • ReImPlot
      • Plot3D
      • ComplexListPlot
      • DensityPlot
      • ContourPlot
      • AbsArg
      • ReIm
    • Related Guides
      • Function Visualization
      • Functions of Complex Variables
      • Complex Visualization

ComplexPlot3D

ComplexPlot3D[f,{z,zmin,zmax}]

generates a 3D plot of Abs[f] colored by Arg[f] over the complex rectangle with corners zmin and zmax.

Details and Options

  • ComplexPlot3D plots Abs[f] with a cyclic color function over Arg[f] to identify features such as zeros, poles and essential singularities. The color function goes from to counterclockwise around zeros, clockwise around poles and infinite cycles near essential singularities.
  • ComplexPlot3D[f,{z,n}] is equivalent to ComplexPlot3D[f,{z,-n-n I,n+n I}].
  • ComplexPlot3D treats the variable z as local, effectively using Block.
  • ComplexPlot3D has attribute HoldAll and evaluates f only after assigning specific numerical values to z. In some cases, it may be more efficient to use Evaluate to evaluate f symbolically first.
  • ComplexPlot3D has the same options as Graphics3D with following additions and changes: [List of all options]
  • Axes Truewhether to draw axes
    BoundaryStyle Blackhow to draw boundary lines for surfaces
    BoxRatios {1,1,0.4`}bounding 3D box ratios
    ClippingStyle Automatichow to draw clipped parts of surfaces
    ColorFunction Automatichow to determine the color of surfaces
    ColorFunctionScaling Truewhether to scale arguments to ColorFunction
    EvaluationMonitorNoneexpression to evaluate at every function evaluation
    Exclusions Automaticx, y curves to exclude
    ExclusionsStyleNonewhat to draw at excluded curves
    Filling Nonefilling under each surface
    FillingStyle Opacity[0.5`]style to use for filling
    MaxRecursion Automaticthe maximum number of recursive subdivisions allowed
    Mesh Nonehow many mesh lines in each direction to draw
    MeshFunctions {Abs[#2]&,Arg[#2]&}how to determine the placement of mesh lines
    MeshShading Nonehow to shade regions between mesh lines
    MeshStyle Automaticthe style for mesh lines
    NormalsFunction Automatichow to determine effective surface normals
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    PlotLegends Nonelegends for surfaces
    PlotPoints Automaticthe initial number of sample points in each direction
    PlotRange {Full,Full,Automatic}the range of z or other values to include
    PlotStyle Automaticgraphics directives for the style for each surface
    PlotTheme $PlotThemeoverall theme for the plot
    RegionFunction (True&)how to determine whether a point should be included
    ScalingFunctions Nonehow to scale individual coordinates
    WorkingPrecision MachinePrecisionthe precision used in internal computations
  • ColorFunction->{cfunc,sfunc} uses cfunc to generate the base color and sfunc to adjust the color to highlight features.
  • Possible named settings for sfunc are:
  • Automaticautomatic shading based on Abs[f]
    "MaxAbs"light shading of large values of Abs[f]
    "LocalMaxAbs"light shading of an upper quantile of Abs[f]
    "GlobalAbs"dark to light shading of small to large values of Abs[f]
    "QuantileAbs"dark to light shading based on quantiles of Abs[f]
    "CyclicLogAbs"cyclic dark to light shading of Log[Abs[f]]
    "CyclicArg"cyclic dark to light shading of Arg[f]
    "CyclicLogAbsArg"cyclic shading of Log[Abs[f]] and Arg[f]
    "CyclicReImLogAbs"dark cycles of Re[f] and Im[f] and light cycles of Log[Abs[f]]
    "ShiftedCyclicLogAbs"cyclic shading of Log[Abs[f]] after a threshold
    Noneno shading
  • The arguments supplied to functions in MeshFunctions and RegionFunction are , . Functions in ColorFunction are by default supplied with scaled versions of Re[z], Im[z], Abs[z], Arg[z], Re[f], Im[f], Abs[f], Arg[f].
  • List of all options

    • AlignmentPointCenterthe default point in the graphic to align with
      AspectRatioAutomaticratio of height to width
      AxesTruewhether to draw axes
      AxesEdgeAutomaticon which edges to put axes
      AxesLabelNoneaxes labels
      AxesOriginAutomaticwhere axes should cross
      AxesStyle{}graphics directives to specify the style for axes
      BackgroundNonebackground color for the plot
      BaselinePositionAutomatichow to align with a surrounding text baseline
      BaseStyle{}base style specifications for the graphic
      BoundaryStyleBlackhow to draw boundary lines for surfaces
      BoxedTruewhether to draw the bounding box
      BoxRatios{1,1,0.4`}bounding 3D box ratios
      BoxStyle{}style specifications for the box
      ClippingStyleAutomatichow to draw clipped parts of surfaces
      ClipPlanesNoneclipping planes
      ClipPlanesStyleAutomaticstyle specifications for clipping planes
      ColorFunctionAutomatichow to determine the color of surfaces
      ColorFunctionScalingTruewhether to scale arguments to ColorFunction
      ContentSelectableAutomaticwhether to allow contents to be selected
      ControllerLinkingFalsewhen to link to external rotation controllers
      ControllerPathAutomaticwhat external controllers to try to use
      Epilog{}2D graphics primitives to be rendered after the main plot
      EvaluationMonitorNoneexpression to evaluate at every function evaluation
      ExclusionsAutomaticx, y curves to exclude
      ExclusionsStyleNonewhat to draw at excluded curves
      FaceGridsNonegrid lines to draw on the bounding box
      FaceGridsStyle{}style specifications for face grids
      FillingNonefilling under each surface
      FillingStyleOpacity[0.5`]style to use for filling
      FormatTypeTraditionalFormdefault format type for text
      ImageMargins0.the margins to leave around the graphic
      ImagePaddingAllwhat extra padding to allow for labels, etc.
      ImageSizeAutomaticabsolute size at which to render the graphic
      LabelStyle{}style specifications for labels
      LightingAutomaticsimulated light sources to use
      MaxRecursionAutomaticthe maximum number of recursive subdivisions allowed
      MeshNonehow many mesh lines in each direction to draw
      MeshFunctions{Abs[#2]&,Arg[#2]&}how to determine the placement of mesh lines
      MeshShadingNonehow to shade regions between mesh lines
      MeshStyleAutomaticthe style for mesh lines
      MethodAutomaticdetails of 3D graphics methods to use
      NormalsFunctionAutomatichow to determine effective surface normals
      PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
      PlotLabelNonea label for the plot
      PlotLegendsNonelegends for surfaces
      PlotPointsAutomaticthe initial number of sample points in each direction
      PlotRange{Full,Full,Automatic}the range of z or other values to include
      PlotRangePaddingAutomatichow much to pad the range of values
      PlotRegionAutomaticfinal display region to be filled
      PlotStyleAutomaticgraphics directives for the style for each surface
      PlotTheme$PlotThemeoverall theme for the plot
      PreserveImageOptionsAutomaticwhether to preserve image options when displaying new versions of the same graphic
      Prolog{}2D graphics primitives to be rendered before the main plot
      RegionFunction(True&)how to determine whether a point should be included
      RotationAction"Fit"how to render after interactive rotation
      ScalingFunctionsNonehow to scale individual coordinates
      SphericalRegionAutomaticwhether to make the circumscribing sphere fit in the final display area
      TicksAutomaticspecification for ticks
      TicksStyle{}style specification for ticks
      TouchscreenAutoZoomFalsewhether to zoom to fullscreen when activated on a touchscreen
      ViewAngleAutomaticangle of the field of view
      ViewCenterAutomaticpoint to display at the center
      ViewMatrixAutomaticexplicit transformation matrix
      ViewPoint{1.3,-2.4,2.}viewing position
      ViewProjectionAutomaticprojection method for rendering objects distant from the viewer
      ViewRangeAllrange of viewing distances to include
      ViewVectorAutomaticposition and direction of a simulated camera
      ViewVertical{0,0,1}direction to make vertical
      WorkingPrecisionMachinePrecisionthe precision used in internal computations

Examples

open all close all

Basic Examples  (3)

Plot a complex function with zeros at and poles at :

Include a legend showing how the colors vary from to :

Use color shading to highlight features of the function:

Scope  (22)

Sampling  (8)

Sharp colors are generated by using a raster:

Plot over an infinite domain:

The default mesh shows curves of constant Abs[f] and Arg[f]:

In the presence of poles, it is often convenient to use a logarithm to scale Abs[f]:

In the presence of poles, it may also be convenient to use a logarithm to scale the mesh for Abs[f]:

Specify values for the mesh and control the style:

Modify the mesh to show specific values for Re[f] and Im[f]:

Emphasize branch cuts with a color scheme that is discontinuous at the cut:

Presentation  (14)

Use a legend:

Incorporate a mesh:

Turn off exclusions:

Use a scaling function:

Change the ColorFunction:

Use the "CyclicLogAbs" shading function to cyclically shade colors to give the appearance of contours of constant Abs[f]:

Use the "CyclicArg" shading function to cyclically shade colors to give the appearance of contours of constant Arg[f]:

Use the "CyclicLogAbsArg" shading function to cyclically shade colors to give the appearance of contours of constant Abs[f] and constant Arg[f]:

Use the "GlobalAbs" shading function to highlight zeros (black) and poles (white):

Use "QuantileAbs" to darken small values of Abs[f] and lighten large values of Abs[f]:

Use "MaxAbs" to lighten large values of Abs[f]:

Use "LocalMaxAbs" to lighten relatively large values of Abs[f]:

Use "CyclicReImLogAbs" to cyclically darken based on Re[f] and Im[f] and lighten cyclically based on Log[Abs[f]]:

Use "ShiftedCyclicLogAbs" to produce clear color wheels around zeros and cyclic contours based on Log[Abs[f]]:

Options  (95)

Axes  (4)

By default, Axes are drawn for ComplexPlot3D:

Use AxesFalse to turn off axes:

Use AxesOrigin to specify where the axes intersect:

Turn each axis on individually:

AxesLabel  (3)

No axes labels are drawn by default:

Place a label on the axis:

Specify axes labels:

AxesOrigin  (2)

The position of the axes is determined automatically:

Specify an explicit origin for the axes:

AxesStyle  (4)

Change the style for the axes:

Specify the style of each axis:

Use different styles for the ticks and the axes:

Use different styles for the labels and the axes:

BoundaryStyle  (3)

Use a black boundary around the edges of the surface:

Use a thick, black boundary around the edges of the surface:

Note that BoundaryStyle applies to holes cut by RegionFunction, but not to holes cut by Exclusions:

BoxRatios  (2)

Automatic uses the natural scale from PlotRange:

Use BoxRatios to specify the relative dimensions of the bounding box for the plot:

ClippingStyle  (2)

Clipped regions use different surface colors by default:

Do not draw clipped regions:

ColorFunction  (14)

Use a noncyclic color function to emphasize branch cuts:

LogGamma and Log[Gamma] have different branch cuts:

Specify a custom ColorFunction:

Color functions depend on eight arguments (Re[z], Im[z], Abs[z], Arg[z], Re[f], Im[f], Abs[f], Arg[f]):

Color functions can be shaded to highlight features of a graph like zeros, poles and saddle points. Use "CyclicLogAbs" to cyclically shade colors to give the appearance of contours of constant Abs[f] at powers of 2:

Use "CyclicArg" to cyclically shade colors to give the appearance of contours of constant Arg[f] at integer multiples of /6:

Use "CylicLogAbsArg" shading function to combine the effects of "CyclicLogAbs" and "CyclicArg":

Shading can be applied to any ColorFunction:

Use "GlobalAbs" to highlight zeros (black) and poles (white):

Use "QuantileAbs" to lighten the image at relatively large values of Abs[f]:

Use "MaxAbs" to lighten the image at large values of Abs[f]:

Use "LocalMaxAbs" to lighten the image at relatively large values of Abs[f]:

Use "ShiftedCyclicLogAbs" to produce a color wheel around each zero and cyclic shading in Log[Abs[f]]:

Use "CyclicReImLogAbs" to darken the plot cyclically in Re[f] and Im[f] and brighten it cyclically in Log[Abs[f]]:

ColorFunctionScaling  (1)

Re[z], Im[z], Abs[z], Arg[z], Re[f], Im[f], Abs[f] and Arg[f] are scaled by default. Use ColorFunctionScaling to change it:

Exclusions  (4)

Automatically determine exclusions in the modulus of the function:

For cyclic color functions, only exclusions based on Abs[f] are shown, but for acyclic color functions, exclusions based on Arg[f] are also displayed:

Specify exclusions using equations:

Use no exclusions:

ExclusionStyle  (1)

Style exclusions with a thick, dashed, black line and the surface in between transparent:

Filling  (2)

Fill to the bottom:

Filling occurs along the region cut by RegionFunction:

FillingStyle  (3)

Fill to the bottom with a specified style:

Fill to the plane Abs[f]=1 with red below and blue above:

Fill to the plane Abs[f]=1 from below only:

ImageSize  (7)

Use named sizes such as Tiny, Small, Medium and Large:

Specify the width of the plot:

Specify the height of the plot:

Allow the width and height to be up to a certain size:

Specify the width and height for a graphic, padding with space if necessary:

Setting AspectRatioFull will fill the available space:

Use maximum sizes for the width and height:

Use ImageSizeFull to fill the available space in an object:

Specify the image size as a fraction of the available space:

MaxRecursion  (2)

If a region function is used, MaxRecursion adapts the initial mesh:

If a mesh is used, MaxRecursion adapts the initial mesh:

Mesh  (2)

Specify a uniform mesh for Abs and Arg:

Specify values for the mesh:

MeshFunctions  (2)

Change the MeshFunctions from {Abs[f],Arg[f]} to {Re[f],Im[f]}:

{TemplateBox[{Log, paclet:ref/Log}, RefLink, BaseStyle -> {InlineFormula}][TemplateBox[{Abs, paclet:ref/Abs}, RefLink, BaseStyle -> {InlineFormula}][f]],TemplateBox[{Arg, paclet:ref/Arg}, RefLink, BaseStyle -> {InlineFormula}][f]} often works well with poles:

MeshShading  (2)

Alternate color with black and white:

Shade the mesh to highlight Abs[f]:

MeshStyle  (2)

Use a white mesh in the Abs[f] direction and a black mesh in the Arg[f] direction:

Use a red mesh in the Abs[f] direction and a blue mesh in the Arg[f] direction:

NormalsFunction  (2)

Normals are automatically calculated. Use None to get flat shading for all of the polygons:

Make the effective normals to the surface vary locally:

PlotLegends  (2)

The Automatic legend shows the association between color and phase. The grayscale part of the legend indicates how the colors are shaded:

Cyclic shading is also reflected in the legend:

PlotPoints  (2)

Use more points to smooth out a nonrectangular boundary or an exclusion:

Use more points to smooth out a mesh:

PlotRange  (3)

Automatically compute the range for Abs[f]:

Specify the range for Abs[f]:

Specify the dimensions of the domain of f and range of Abs[f]:

PlotStyle  (1)

PlotStyle can be used to modify the colors:

PlotTheme  (1)

Modify the appearance with a theme:

RegionFunction  (3)

Use RegionFunction to adapt the shape of the region:

Use RegionFunction to remove zeros and poles:

Shape the region based on Arg[z] or Arg[f]:

ScalingFunctions  (8)

Use a log scale in the direction of Abs[f]:

Effectively swap zeros and poles by using a reciprocal scale in the direction of Abs[f]:

Use a combination of scaling functions. Reverse Re[f], leave Im[f] intact and reciprocate Abs[f]:

Use logarithmic scaling in all three directions:

Domain that contains Infinity is scaled automatically:

Use "Reverse" scale in an infinite domain:

Use "Reciprocal" scale in an infinite domain:

Use Interval to focus on a region of interest in an infinite domain:

Ticks  (6)

Ticks are placed automatically in each plot:

Use TicksNone to not draw any tick marks:

Place tick marks at specific positions:

Draw tick marks at the specified positions with the specified labels:

Specify tick marks with scaled lengths:

Customize each tick with position, length, labeling and styling:

TicksStyle  (3)

By default, the ticks and tick labels use the same styles as the axis:

Specify overall ticks style, including the tick labels:

Specify tick style for each of the axes:

WorkingPrecision  (2)

Evaluate functions using machine-precision arithmetic:

Evaluate functions using arbitrary-precision arithmetic:

Applications  (26)

Basic Applications  (10)

For a complex function , plot Abs[f] over the complex plane. Points on the surface are colored (by default) by Arg[f], and that information is recorded in an optional legend.

When viewed from above, the color function proceeds counterclockwise around zeros of a function:

At a multiple zero, the colors cycle around the zero multiple times:

At a pole, the colors cycle around the point in the reverse direction:

At an essential singularity, the colors cycle infinitely often:

Use PlotRange to control the height of the graph near a pole:

Using a logarithmic scaling function for functions with poles may produce a more visually appealing plot:

Using ScalingFunctions"Reciprocal" effectively swaps zeros and poles in terms of height, but the colors remain unchanged:

At a saddle point of , and . Use "CyclicLogAbs" to highlight a saddle point that occurs at a power of 2:

Or use a mesh to highlight a saddle point:

The following plot shows multiple features of the Joukowski transformation. There are simple zeros at , which is evident from the height of the graph and the fact that the colors converge at those points and cycle around the points from blue to green to red in the counterclockwise direction, consistent with the legend. Similarly, there is a simple pole at where the height is infinite and the colors converge but cycle clockwise. There is also a saddle point at , and the branch cuts occur at the red-blue boundary:

The following plot shows a function with simple zeros at , a double pole at and a saddle point at :

Other Applications  (16)

Classic  (2)

Reproduce the famous complex plot by Janhke and Emde (Tables of Functions with Formulas and Curves, 4th ed., Dover, 1945):

Produce a 3D version of the famous complex plot by Janhke and Emde (Tables of Functions with Formulas and Curves, 4th ed., Dover, 1945):

General  (6)

Plot complex functions of a complex variable:

Visualize features of a complex function of a complex variable. The following plot indicates a triple zero at , simple zeros , a simple pole at and a double pole at :

Examine roots of unity:

See the five real roots of in [-1,1]:

Plots of partial sums of the geometric series suggest that the infinite series diverges for TemplateBox[{z}, Abs]>=1:

Visualize Möbius transformations:

Special functions  (2)

Plot special functions:

A visual reminder that Log[z2]2Log[z] for Re[z]>0, but not for Re[z]≤0:

Analytic functions  (2)

A conformal map preserves angles:

Compare the enhanced phase portraits of analytic and nonanalytic functions:

Physics  (2)

Plot the field lines (black) and the potential lines (white) for two point charges of equal but opposite charge at :

Plot a complex fluid velocity potential with corresponding streamlines for flow external to a corner:

Transforms  (2)

Plot Fourier transforms:

Plot Laplace transforms:

Properties & Relations  (8)

ComplexPlot3D is a special case of Plot3D:

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

Use ComplexArrayPlot for arrays of complex numbers:

Use ReImPlot and AbsArgPlot to plot complex values over the real numbers:

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

ComplexContourPlot plots curves over the complexes:

ComplexRegionPlot plots regions over the complexes:

ComplexStreamPlot and ComplexVectorPlot treat complex numbers as directions:

See Also

ComplexPlot  AbsArgPlot  ReImPlot  Plot3D  ComplexListPlot  DensityPlot  ContourPlot  AbsArg  ReIm

Function Repository: RiemannSurfacePlot3D  ComplexBubblePlot  RiemannSphereComplexPlot

Related Guides

    ▪
  • Function Visualization
  • ▪
  • Functions of Complex Variables
  • ▪
  • Complex Visualization

History

Introduced in 2019 (12.0) | Updated in 2020 (12.1) ▪ 2021 (13.0)

Wolfram Research (2019), ComplexPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ComplexPlot3D.html (updated 2021).

Text

Wolfram Research (2019), ComplexPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ComplexPlot3D.html (updated 2021).

CMS

Wolfram Language. 2019. "ComplexPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/ComplexPlot3D.html.

APA

Wolfram Language. (2019). ComplexPlot3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ComplexPlot3D.html

BibTeX

@misc{reference.wolfram_2025_complexplot3d, author="Wolfram Research", title="{ComplexPlot3D}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/ComplexPlot3D.html}", note=[Accessed: 01-December-2025]}

BibLaTeX

@online{reference.wolfram_2025_complexplot3d, organization={Wolfram Research}, title={ComplexPlot3D}, year={2021}, url={https://reference.wolfram.com/language/ref/ComplexPlot3D.html}, note=[Accessed: 01-December-2025]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Player
  • Wolfram Engine

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2025 Wolfram
© 2025 Wolfram | Legal & Privacy Policy |
English