---
title: "JuliaSetPlot"
language: "en"
type: "Symbol"
summary: "JuliaSetPlot[f, z] plots the Julia set of the rational function f of the variable z. JuliaSetPlot[c] plots the Julia set of the function f(z) == z^2 + c."
keywords: 
- julia set
- mandelbrot
- complex dynamics
canonical_url: "https://reference.wolfram.com/language/ref/JuliaSetPlot.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Iterated Maps & Fractals"
    link: "https://reference.wolfram.com/language/guide/IteratedMapsAndFractals.en.md"
  - 
    title: "Complex Visualization"
    link: "https://reference.wolfram.com/language/guide/ComplexVisualization.en.md"
related_functions: 
  - 
    title: "MandelbrotSetPlot"
    link: "https://reference.wolfram.com/language/ref/MandelbrotSetPlot.en.md"
  - 
    title: "JuliaSetIterationCount"
    link: "https://reference.wolfram.com/language/ref/JuliaSetIterationCount.en.md"
  - 
    title: "ListPlot"
    link: "https://reference.wolfram.com/language/ref/ListPlot.en.md"
  - 
    title: "ArrayPlot"
    link: "https://reference.wolfram.com/language/ref/ArrayPlot.en.md"
  - 
    title: "DensityPlot"
    link: "https://reference.wolfram.com/language/ref/DensityPlot.en.md"
  - 
    title: "ContourPlot"
    link: "https://reference.wolfram.com/language/ref/ContourPlot.en.md"
---
# JuliaSetPlot

JuliaSetPlot[f, z] plots the Julia set of the rational function f of the variable z.

JuliaSetPlot[c] plots the Julia set of the function $f(z)=z^2+c$.

## Details and Options

* The Julia set of a function ``f`` is the closure of the set of all repelling fixed points of ``f``.

* ``JuliaSetPlot`` has the same options as ``Graphics``, with the following additions and changes: []

|                       |                   |                                                         |
| --------------------- | ----------------- | ------------------------------------------------------- |
| AspectRatio           | Automatic         | ratio of height to width of the plot                    |
| Axes                  | False             | whether to include axes                                 |
| ColorFunction         | Automatic         | how to color the exterior                               |
| ColorFunctionScaling  | True              | whether to scale arguments to ColorFunction             |
| Frame                 | True              | whether to include a frame                              |
| ImageResolution       | Automatic         | resolution of points in the Julia set                   |
| MaxIterations         | Automatic         | how many iterations to allow for each point             |
| Method                | Automatic         | the method to generate the image                        |
| PerformanceGoal       | \$PerformanceGoal | aspects of performance to try to optimize               |
| PlotLegends           | None              | legends for the number of interations                   |
| PlotRange             | Automatic         | range of values to include                              |
| PlotRangeClipping     | True              | whether to clip at the plot range                       |
| PlotStyle             | Automatic         | graphics directives to specify the style for each point |
| PlotTheme             | \$PlotTheme       | theme to use for styles and appearances                 |

* The possible methods are ``"InverseIteration"``, ``"EscapeTime"``, and ``"OrbitDetection"``.

* With ``Method -> "InverseIteration"``, ``JuliaSetPlot`` produces a ``ListPlot`` showing individual points of the Julia set.

* With ``Method -> "EscapeTime"`` or with ``Method -> "OrbitDetection"``, ``JuliaSetPlot`` produces a ``Graphics`` object containing a ``Raster`` primitive.

* With ``ColorFunction -> f``, where ``f`` is a function, the argument of ``f`` is a real number in $[0,1]$ proportional to the number of iterates, and ``f`` must return color directives, such as ``RGBColor`` and ``Hue``, or named colors, such as ``Red`` and ``Blue``.

* ``ColorFunction -> "name"`` is equivalent to ``ColorFunction -> (If[# == 1, Black, ColorData["name"][#]]&)``.

* The list of possible color function names is given by ``ColorData["Gradients"]``.

* With ``ColorFunction -> None``, the default color used by ``PlotStyle`` is given by ``ColorData["DefaultPlotColors", 1]``.

### List of all options

|                        |                   |                                                                                    |
| ---------------------- | ----------------- | ---------------------------------------------------------------------------------- |
| AlignmentPoint         | Center            | the default point in the graphic to align with                                     |
| AspectRatio            | Automatic         | ratio of height to width of the plot                                               |
| Axes                   | False             | whether to include 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                                          |
| ColorFunction          | Automatic         | how to color the exterior                                                          |
| 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                                            |
| FormatType             | TraditionalForm   | the default format type for text                                                   |
| Frame                  | True              | whether to include a frame                                                         |
| 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.                                        |
| ImageResolution        | Automatic         | resolution of points in the Julia set                                              |
| ImageSize              | Automatic         | the absolute size at which to render the graphic                                   |
| LabelStyle             | {}                | style specifications for labels                                                    |
| MaxIterations          | Automatic         | how many iterations to allow for each point                                        |
| Method                 | Automatic         | the method to generate the image                                                   |
| PerformanceGoal        | \$PerformanceGoal | aspects of performance to try to optimize                                          |
| PlotLabel              | None              | an overall label for the plot                                                      |
| PlotLegends            | None              | legends for the number of interations                                              |
| PlotRange              | Automatic         | range of 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 point                            |
| PlotTheme              | \$PlotTheme       | theme to use for styles and appearances                                            |
| PreserveImageOptions   | Automatic         | whether to preserve image options when displaying new versions of the same graphic |
| Prolog                 | {}                | primitives rendered before the main plot                                           |
| RotateLabel            | True              | whether to rotate y labels on the frame                                            |
| Ticks                  | Automatic         | axes ticks                                                                         |
| TicksStyle             | {}                | style specifications for axes ticks                                                |

---

## Examples (87)

### Basic Examples (4)

Generate the filled Julia set of $z^2-1$ :

```wl
In[1]:= JuliaSetPlot[-1]

Out[1]= [image]
```

---

Generate the Julia set:

```wl
In[1]:= JuliaSetPlot[-1, ColorFunction -> None]

Out[1]= [image]
```

---

Show the filled Julia set with the points in the Julia set:

```wl
In[1]:= JuliaSetPlot[-1, PlotStyle -> White]

Out[1]= [image]
```

---

Show a legend of the number of iterations:

```wl
In[1]:= JuliaSetPlot[0.365 - 0.37I, PlotLegends -> Automatic]

Out[1]= [image]
```

### Scope (7)

``JuliaSetPlot[c]`` generates the Julia set of a function of the form $z^2+c$ :

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I]

Out[1]= [image]

In[2]:= JuliaSetPlot[z^2 - 0.77 + 0.22I, z]

Out[2]= [image]
```

---

Generate the Julia set of a polynomial:

```wl
In[1]:= JuliaSetPlot[z^2 - z - 0.125, z]

Out[1]= [image]
```

---

Generate the filled Julia set of a rational function:

```wl
In[1]:= JuliaSetPlot[z ^ 2 / (z ^ 2 - 1), z]

Out[1]= [image]
```

---

Change the color function:

```wl
In[1]:= JuliaSetPlot[z^2 - 0.77 + 0.22I, z, ColorFunction -> Hue]

Out[1]= [image]
```

---

Show the points in the Julia set:

```wl
In[1]:= JuliaSetPlot[z^2 - 0.77 + 0.22I, z, ColorFunction -> Hue, PlotStyle -> Opacity[0.2, Black]]

Out[1]= [image]
```

---

Show just the points:

```wl
In[1]:= JuliaSetPlot[z^2 - 0.77 + 0.22I, z, ColorFunction -> None, PlotStyle -> Opacity[0.2, Black]]

Out[1]= [image]
```

---

Use a theme with simple ticks in a high-contrast color scheme:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, PlotTheme -> "Web"]

Out[1]= [image]
```

### Options (71)

#### AspectRatio (4)

By default, the ratio of the height to width for the plot is determined automatically:

```wl
In[1]:= JuliaSetPlot[z^2 - z - 1, z]

Out[1]= [image]
```

---

Use a numerical value to specify the height-to-width ratio:

```wl
In[1]:= JuliaSetPlot[z^2 - z - 1, z, AspectRatio -> 1 / 2]

Out[1]= [image]
```

---

Make the height the same as the width with ``AspectRatio -> 1`` :

```wl
In[1]:= JuliaSetPlot[z^2 - z - 1, z, AspectRatio -> 1]

Out[1]= [image]
```

---

``AspectRatio -> Full`` adjusts the height and width to tightly fit inside other constructs:

```wl
In[1]:=
plot = JuliaSetPlot[z^2 - z - 1, z, AspectRatio -> Full];
{Framed[Pane[plot, {75, 100}]], Framed[Pane[plot, {100, 100}]], Framed[Pane[plot, {100, 75}]]}

Out[1]= {[image], [image], [image]}
```

#### Axes (3)

By default, ``JuliaSetPlot`` uses a frame instead of axes:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I]

Out[1]= [image]
```

---

Use axes instead of a frame:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True]

Out[1]= [image]
```

---

Turn on each axis individually:

```wl
In[1]:= {JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> {True, False}], JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> {False, True}]}

Out[1]= {[image], [image]}
```

#### AxesLabel (3)

No axes labels are drawn by default:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True]

Out[1]= [image]
```

---

Place a label on the $y$ axis:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True, AxesLabel -> y]

Out[1]= [image]
```

---

Specify axes labels:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True, AxesLabel -> {x, y}]

Out[1]= [image]
```

#### AxesOrigin (2)

The positions of the axes are determined automatically:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True]

Out[1]= [image]
```

---

Specify an explicit origin for the axes:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True, AxesOrigin -> {1.7, 1}]

Out[1]= [image]
```

#### AxesStyle (4)

Change the style for the axes:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True, AxesStyle -> Red]

Out[1]= [image]
```

---

Specify the style of each axis:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True, AxesStyle -> {{Thick, Red}, {Thick, Blue}}]

Out[1]= [image]
```

---

Use different styles for the ticks and the axes:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True, AxesStyle -> Green, TicksStyle -> Black]

Out[1]= [image]
```

---

Use different styles for the labels and the axes:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, Frame -> False, Axes -> True, AxesStyle -> Green, LabelStyle -> Black]

Out[1]= [image]
```

#### Background (1)

Use a black background as contrast with the points in the Julia set:

```wl
In[1]:= JuliaSetPlot[-1, PlotStyle -> Red, Background -> Black, ColorFunction -> None]

Out[1]= [image]
```

#### ColorFunction (3)

Use a built-in color function to color by a scaled number of iterations:

```wl
In[1]:= JuliaSetPlot[-1, ColorFunction -> Hue]

Out[1]= [image]
```

Zoom in to a region to see more details:

```wl
In[2]:= JuliaSetPlot[-1, ColorFunction -> Hue, PlotRange -> {{0.3, 0.45}, {0.35, 0.5}}]

Out[2]= [image]
```

---

Use a named color gradient:

```wl
In[1]:= JuliaSetPlot[-1, Method -> "EscapeTime", ColorFunction -> "GreenPinkTones"]

Out[1]= [image]
```

---

Write a custom color function:

```wl
In[1]:= JuliaSetPlot[-1, ColorFunction -> (If[#3 == 1, Purple, RGBColor[(1 - #3)^2, (1 - #3)^3, 1 - #3]]&)]

Out[1]= [image]
```

#### Frame (4)

``JuliaSetPlot`` uses a frame by default:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I]

Out[1]= [image]
```

---

Use ``Frame -> False`` to turn off the frame:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False]

Out[1]= [image]
```

---

Draw a frame on the left and right edges:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> {{True, True}, {False, False}}]

Out[1]= [image]
```

---

Draw a frame on the left and bottom edges:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> {{True, False}, {True, False}}]

Out[1]= [image]
```

#### FrameLabel (4)

Place a label along the bottom frame of a plot:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameLabel -> {"label"}]

Out[1]= [image]
```

---

Frame labels are placed on the bottom and left frame edges by default:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameLabel -> {"Bottom", "Left"}]

Out[1]= [image]
```

---

Place labels on each of the edges in the frame:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}]

Out[1]= [image]
```

---

Use a customized style for both labels and frame tick labels:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}, LabelStyle -> Directive[Bold, Black]]

Out[1]= [image]
```

#### FrameStyle (2)

Specify the style of the frame:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameStyle -> Directive[Black, Thick]]

Out[1]= [image]
```

---

Specify the style for each frame edge:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameStyle -> {{Directive[Black, Thick], Directive[Red]}, {Directive[Gray, Thick], Directive[Blue]}}]

Out[1]= [image]
```

#### FrameTicks (9)

Frame ticks are placed automatically by default:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I]

Out[1]= [image]
```

---

Use a frame with no ticks:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> None]

Out[1]= [image]
```

---

Use frame ticks on the bottom edge:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> {{None, None}, {Automatic, None}}]

Out[1]= [image]
```

---

By default, the top and right edges have tick marks but no tick labels:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> Automatic]

Out[1]= [image]
```

Use ``All`` to include tick labels on all edges:

```wl
In[2]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> All]

Out[2]= [image]
```

---

Place tick marks at specific positions:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> {{{-1, 0, 1}, Automatic}, {{-1, 1}, Automatic}}]

Out[1]= [image]
```

---

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

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> {{{{-1, -a}, {0, 0}, {1, a}}, Automatic}, {{{-1, -a}, {1, a}}, Automatic}}]

Out[1]= [image]
```

---

Specify the lengths for tick marks as a fraction of the graphics size:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> {{{{-1, -a, .1}, {0, 0, .1}, {1, a, .1}}, Automatic}, {{{-1, -a, .2}, {1, a, .2}}, Automatic}}]

Out[1]= [image]
```

Use different sizes in the positive and negative directions for each tick mark:

```wl
In[2]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> {{{{-1, -a, {.1, .1}}, {0, 0, {.1, .2}}, {1, a, {.1, .25}}}, Automatic}, {Automatic, Automatic}}]

Out[2]= [image]
```

---

Specify a style for each frame tick:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> {{{{-1, -a, {.1, .1}, Directive[Black, Thick, Dashed]}, {0, 0, {.1, .2}, Directive[Red]}, {1, a, {.1, .25}, Directive[Red, Thick, Dashed]}}, Automatic}, {Automatic, Automatic}}]

Out[1]= [image]
```

---

Construct a function that places frame ticks at the midpoint and extremes of the frame edge:

```wl
In[1]:= minMeanMax[min_, max_] := {{min, min}, {(max + min) / 2, (max + min) / 2}, {max, max}}

In[2]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicks -> {{minMeanMax, None}, {minMeanMax, None}}, PlotRangePadding -> None]

Out[2]= [image]
```

#### FrameTicksStyle (3)

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

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameStyle -> Directive[Red]]

Out[1]= [image]
```

---

Specify an overall style for the ticks, including the labels:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicksStyle -> Directive[Blue, Thick]]

Out[1]= [image]
```

---

Use different style for the different frame edges:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, FrameTicksStyle -> {{Directive[Black, Thick], Blue}, {Red, Green}}]

Out[1]= [image]
```

#### ImageResolution (1)

Increase ``ImageResolution`` for finer plots:

```wl
In[1]:= Table[JuliaSetPlot[-1, ImageResolution -> ir], {ir, 50, 300, 50}]

Out[1]= {[image], [image], [image], [image], [image], [image]}
```

#### ImageSize (7)

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

```wl
In[1]:= {JuliaSetPlot[z^2 - z - 1, z, ImageSize -> Tiny], JuliaSetPlot[z^2 - z - 1, z, ImageSize -> Small]}

Out[1]= {[image], [image]}
```

---

Specify the width of the plot:

```wl
In[1]:= {JuliaSetPlot[z^2 - z - 1, z, ImageSize -> 150], JuliaSetPlot[z^2 - z - 1, z, AspectRatio -> 1.5, ImageSize -> 150]}

Out[1]= {[image], [image]}
```

Specify the height of the plot:

```wl
In[2]:= {JuliaSetPlot[z^2 - z - 1, z, ImageSize -> {Automatic, 100}], JuliaSetPlot[z^2 - z - 1, z, AspectRatio -> 2, ImageSize -> {Automatic, 100}]}

Out[2]= {[image], [image]}
```

---

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

```wl
In[1]:= {JuliaSetPlot[z^2 - z - 1, z, ImageSize -> UpTo[200]], JuliaSetPlot[z^2 - z - 1, z, AspectRatio -> 2, ImageSize -> UpTo[200]]}

Out[1]= {[image], [image]}
```

---

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

```wl
In[1]:= JuliaSetPlot[z^2 - z - 1, z, ImageSize -> {200, 200}, Background -> LightBlue]

Out[1]= [image]
```

Setting ``AspectRatio -> Full`` will fill the available space:

```wl
In[2]:= JuliaSetPlot[z^2 - z - 1, z, AspectRatio -> Full, ImageSize -> {200, 200}, Background -> LightBlue]

Out[2]= [image]
```

---

Use maximum sizes for the width and height:

```wl
In[1]:= {JuliaSetPlot[z^2 - z - 1, z, ImageSize -> {UpTo[150], UpTo[100]}], JuliaSetPlot[z^2 - z - 1, z, AspectRatio -> 2, ImageSize -> {UpTo[150], UpTo[100]}]}

Out[1]= {[image], [image]}
```

---

Use ``ImageSize -> Full`` to fill the available space in an object:

```wl
In[1]:= Framed[Pane[JuliaSetPlot[z^2 - z - 1, z, ImageSize -> Full, Background -> LightBlue], {200, 150}]]

Out[1]= [image]
```

---

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

```wl
In[1]:= Framed[Pane[JuliaSetPlot[z^2 - z - 1, z, ImageSize -> {Scaled[0.5], Scaled[0.5]}, Background -> LightBlue], {200, 100}]]

Out[1]= [image]
```

#### PerformanceGoal (2)

Generate a higher-quality plot:

```wl
In[1]:= AbsoluteTiming[JuliaSetPlot[-0.125 + 0.75I, PerformanceGoal -> "Quality"]]

Out[1]= {0.632358, [image]}
```

---

Emphasize performance, possibly at the cost of quality:

```wl
In[1]:= AbsoluteTiming[JuliaSetPlot[-0.125 + 0.75I, PerformanceGoal -> "Speed"]]

Out[1]= {0.118912, [image]}
```

#### PlotLegends (1)

Legends show the number of iterations:

```wl
In[1]:= JuliaSetPlot[-0.77 + 0.22I, PlotRange -> {{-0.2, 0.8}, {-0.8, 0.2}}, PlotLegends -> Automatic]

Out[1]= [image]
```

#### PlotRange (2)

The plot range is chosen automatically, based on the Julia set:

```wl
In[1]:= JuliaSetPlot[-1]

Out[1]= [image]

In[2]:= JuliaSetPlot[-2 / 3]

Out[2]= [image]
```

---

Zoom in to a region to see more details:

```wl
In[1]:= JuliaSetPlot[-1, PlotRange -> {{0.3, 0.45}, {0.35, 0.5}}]

Out[1]= [image]

In[2]:= JuliaSetPlot[-1, PlotRange -> {{0.33, 0.35}, {0.44, 0.46}}]

Out[2]= [image]
```

#### PlotStyle (2)

By default, the points are not shown unless ``ColorFunction -> None`` :

```wl
In[1]:= {JuliaSetPlot[-1], JuliaSetPlot[-1, ColorFunction -> None]}

Out[1]= {[image], [image]}
```

---

Specify the plot style:

```wl
In[1]:= {JuliaSetPlot[-1, PlotStyle -> Orange], JuliaSetPlot[-1, PlotStyle -> Orange, ColorFunction -> None]}

Out[1]= [image]
```

#### PlotTheme (1)

Use a theme with increased contrast and axes:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75I, PlotTheme -> "Scientific"]

Out[1]= [image]

In[2]:= JuliaSetPlot[-0.125 + 0.75I, PlotTheme -> "Scientific", ColorFunction -> None]

Out[2]= [image]
```

#### Ticks (9)

Ticks are placed automatically in each plot:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True]

Out[1]= [image]
```

---

Use ``Ticks -> None`` to draw axes without any tick marks:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> None]

Out[1]= [image]
```

---

Use ticks on the $x$ axis, but not the $y$ axis:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> {Automatic, None}]

Out[1]= [image]
```

---

Place tick marks at specific positions:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> {{-1, .6, 1}, {-1.1, 1.1}}]

Out[1]= [image]
```

---

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

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> {{{-1, -a}, {.6, b}, {1, a}}, {{-1.1, -c}, {1.1, c}}}]

Out[1]= [image]
```

---

Use specific ticks on one axis and automatic ticks on the other:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> {{{-1, -a}, {.6, b}, {1, a}}, Automatic}]

Out[1]= [image]
```

---

Specify the lengths for ticks as a fraction of the graphics size:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> {{{-1, -a, .1}, {.6, b, .1}, {1, a, .1}}, Automatic}]

Out[1]= [image]
```

Use different sizes in the positive and negative directions for each tick:

```wl
In[2]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> {{{-1, -a, {.1, .3}}, {.6, b, {.1, .3}}, {1, a, {.1, .3}}}, Automatic}]

Out[2]= [image]
```

---

Specify a style for each tick:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> {{{-1, -a, .1, Red}, {.6, b, .1, Directive[Blue, Thick]}, {1, a, .1, Directive[Thick, Dashed, Red]}}, Automatic}]

Out[1]= [image]
```

---

Construct a function that places ticks at the midpoint and extremes of the axis:

```wl
In[1]:= minMeanMax[min_, max_] := {{min, min}, {(max + min) / 2, (max + min) / 2}, {max, max}}

In[2]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, Ticks -> {minMeanMax, minMeanMax}, PlotRangePadding -> None]

Out[2]= [image]
```

#### TicksStyle (4)

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

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, AxesStyle -> Red]

Out[1]= [image]
```

---

Specify an overall tick style, including the tick labels:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, TicksStyle -> Red]

Out[1]= [image]
```

---

Specify the tick style for each of the axes:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, TicksStyle -> {Directive[White, Thick], Directive[Red, Bold]}]

Out[1]= [image]
```

---

Use a different style for the tick labels and tick marks:

```wl
In[1]:= JuliaSetPlot[-0.125 + 0.75 I, Frame -> False, Axes -> True, TicksStyle -> Directive[Red, Thick], LabelStyle -> White]

Out[1]= [image]
```

### Possible Issues (4)

``JuliaSetPlot`` only works with rational functions:

```wl
In[1]:= JuliaSetPlot[Sin[z], z]
```

JuliaSetPlot::polyesctime: Escape time method works only for polynomials

```wl
Out[1]= JuliaSetPlot[Sin[z], z]
```

---

When using orbit detection, sometimes no attractive orbits are detected:

```wl
In[1]:= JuliaSetPlot[z / (z ^ 2 - 1), z, Method -> "OrbitDetection"]
```

JuliaSetPlot::polyesctime: Escape time method works only for polynomials

JuliaSetPlot::noorbs: No attractive behavior detected

```wl
Out[1]= JuliaSetPlot[(z/-1 + z^2), z, Method -> "OrbitDetection"]
```

---

If the value of the ``"Bound"`` method option is too low for a rational function, no points may be returned:

```wl
In[1]:= JuliaSetPlot[(500 / z ^ 2  - 1), z]

Out[1]= [image]

In[2]:= JuliaSetPlot[(500 / z ^ 2  - 1), z, Method -> {"Bound" -> 9}, Axes -> True, PlotStyle -> Automatic, ColorFunction -> None]

Out[2]= [image]
```

---

Some very large Julia sets can take a long time to compute:

```wl
In[1]:= AbsoluteTiming[JuliaSetPlot[(z ^ 2 - 5 / 19/z ^ 2 + 5 / 19), z, PlotStyle -> Automatic, ColorFunction -> None]]

Out[1]= [image]
```

### Neat Examples (1)

Colorize the components of a Julia set:

```wl
In[1]:= Colorize[MorphologicalComponents[JuliaSetPlot[z ^ 2 + (-0.123 + 0.745I), z, PlotStyle -> Automatic, ColorFunction -> None, Frame -> False, Method -> {"ClosenessTolerance" -> 0.001}], .5]]

Out[1]= [image]
```

## See Also

* [`MandelbrotSetPlot`](https://reference.wolfram.com/language/ref/MandelbrotSetPlot.en.md)
* [`JuliaSetIterationCount`](https://reference.wolfram.com/language/ref/JuliaSetIterationCount.en.md)
* [`ListPlot`](https://reference.wolfram.com/language/ref/ListPlot.en.md)
* [`ArrayPlot`](https://reference.wolfram.com/language/ref/ArrayPlot.en.md)
* [`DensityPlot`](https://reference.wolfram.com/language/ref/DensityPlot.en.md)
* [`ContourPlot`](https://reference.wolfram.com/language/ref/ContourPlot.en.md)

## Related Guides

* [Iterated Maps & Fractals](https://reference.wolfram.com/language/guide/IteratedMapsAndFractals.en.md)
* [Complex Visualization](https://reference.wolfram.com/language/guide/ComplexVisualization.en.md)

## History

* [Introduced in 2014 (10.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn100.en.md)