---
title: "LogLogPlot"
language: "en"
type: "Symbol"
summary: "LogLogPlot[f, {x, xmin, xmax}] generates a log-log plot of f as a function of x from xmin to xmax. LogLogPlot[{f1, f2, ...}, {x, xmin, xmax}] plots several functions fi. LogLogPlot[{..., w[fi], ...}, ...] plots fi with features defined by the symbolic wrapper w. LogLogPlot[..., {x} \\[Element] reg] takes the variable x to be in the geometric region reg."
keywords: 
- double-logarithmic plot
- double logarithmic plot
- loglog
- log-log scale plot
- Bode plot
- frequency plot
- spectrum plot
- complexity plot
- loglog
canonical_url: "https://reference.wolfram.com/language/ref/LogLogPlot.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Function Visualization"
    link: "https://reference.wolfram.com/language/guide/FunctionVisualization.en.md"
related_functions: 
  - 
    title: "ListLogLogPlot"
    link: "https://reference.wolfram.com/language/ref/ListLogLogPlot.en.md"
  - 
    title: "LogPlot"
    link: "https://reference.wolfram.com/language/ref/LogPlot.en.md"
  - 
    title: "LogLinearPlot"
    link: "https://reference.wolfram.com/language/ref/LogLinearPlot.en.md"
  - 
    title: "Plot"
    link: "https://reference.wolfram.com/language/ref/Plot.en.md"
  - 
    title: "ParametricPlot"
    link: "https://reference.wolfram.com/language/ref/ParametricPlot.en.md"
related_tutorials: 
  - 
    title: "Some Special Plots"
    link: "https://reference.wolfram.com/language/tutorial/GraphicsAndSound.en.md#31896"
---
# LogLogPlot

LogLogPlot[f, {x, xmin, xmax}] generates a log-log plot of f as a function of x from xmin to xmax. 

LogLogPlot[{f1, f2, …}, {x, xmin, xmax}] plots several functions fi. 

LogLogPlot[{…, w[fi], …}, …] plots fi with features defined by the symbolic wrapper w.

LogLogPlot[…, {x}∈reg] takes the variable x to be in the geometric region reg.

## Details and Options

* ``LogLogPlot`` makes power-law functions appear as straight lines. It allows very small or very large value changes to be seen over very large domains.

* ``LogLogPlot`` effectively generates a curve in which ``Log[f]`` is plotted against ``Log[x]``, but with tick marks indicating the original values of ``f`` and ``x``. It visualizes the set $\{(\log (x),\log (y))|y=f(x)\land x\in \text{reg}\}$.

[image]

* Gaps are left at any ``x`` where the ``fi`` evaluate to anything other than positive real numbers or 
``Quantity``.

* The limits ``xmin`` and ``xmax`` can be real numbers or ``Quantity`` expressions.

* The region ``reg`` can be any ``RegionQ`` object in 1D.

* ``LogLogPlot`` treats the variable ``x`` as local, effectively using ``Block``.

* ``LogLogPlot`` 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``.

* 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 |

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

|                       |                     |                                                          |
| :-------------------- | :------------------ | :------------------------------------------------------- |
| AspectRatio           | 1 / GoldenRatio     | ratio of height to width                                 |
| Axes                  | True                | whether to draw axes                                     |
| 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              |
| 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                                 |
| LabelingSize          | Automatic           | maximum size of callouts and 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                           |
| PlotInteractivity     | \$PlotInteractivity | whether to allow interactive elements                    |
| PlotLabel             | None                | overall label for the plot                               |
| PlotLabels            | None                | labels to use for 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                        |
| PlotStyle             | Automatic           | graphics directives to specify the style for each curve  |
| PlotTheme             | \$PlotTheme         | overall theme for the plot                               |
| RegionFunction        | (True&)             | how to determine whether a point should be included      |
| ScalingFunctions      | None                | how to scale individual coordinates                      |
| TargetUnits           | Automatic           | units to display in the plot                             |
| WorkingPrecision      | MachinePrecision    | the precision used in internal computations              |

* Possible settings for ``ClippingStyle`` are:

|         |           |                                           |
| ------- | --------- | ----------------------------------------- |
| [image] | Automatic | use a dotted line for the clipped portion |
| [image] | None      | omit the clipped portion of the curve     |
| [image] | style     | use style for the clipped portion         |

* Possible settings for ``PlotLayout`` that show single curves in multiple plot panels include:

|                                       |                                           |
| ------------------------------------- | ----------------------------------------- |
| "Column"                              | use separate curves in a column of panels |
| "Row"                                 | use separate curves in a row of panels    |
| {"Column", k}, {"Row", k}             | use k columns or rows                     |
| {"Column", UpTo[k]}, {"Row", UpTo[k]} | use at most k columns or rows             |

* With the default settings ``Exclusions -> Automatic`` and ``ExclusionsStyle -> None``, ``LogLogPlot`` 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, …}``.

* ``PlotLegends -> "Expressions"`` uses the ``fi`` as the legend text.

* ``ColorData["DefaultPlotColors"]`` gives the default sequence of colors used by ``PlotStyle``.

* Possible highlighting effects for ``Highlighted`` and ``PlotHighlighting`` include:

|         |                     |                                                                               |
| ------- | ------------------- | ----------------------------------------------------------------------------- |
| [image] | style               | highlight the indicated curve                                                 |
| [image] | "Ball"              | highlight and label the indicated point in a curve                            |
| [image] | "Dropline"          | highlight and label the indicated point in a curve with droplines to the axes |
| [image] | "XSlice"            | highlight and label all points along a vertical slice                         |
| [image] | "YSlice"            | highlight and label all points along a horizontal slice                       |
| [image] | 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                      |

* ``LogLogPlot`` 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.

[image]

* Since only a finite number of sample points are used, it is possible for ``LogLogPlot`` to miss features of ``f``. Increasing the settings for ``PlotPoints`` and ``MaxRecursion`` will often catch such features.

* Themes that affect curves include:

|         |               |                   |
| ------- | ------------- | ----------------- |
| [image] | "ThinLines"   | thin plot lines   |
| [image] | "MediumLines" | medium plot lines |
| [image] | "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.

* Possible settings for ``ScalingFunctions`` include:

|          |                    |
| -------- | ------------------ |
| sy       | scale the y axis   |
| {sx, sy} | scale x and y axes |

* Common built-in scaling functions ``s`` include:

|             |         |                                                     |
| ----------- | ------- | --------------------------------------------------- |
| "Log"       | [image] | log scale with automatic tick labeling              |
| "Log10"     | [image] | base-10 log scale with powers of 10 for ticks       |
| "SignedLog" | [image] | log-like scale that includes 0 and negative numbers |
| "Reverse"   | [image] | reverse the coordinate direction                    |
| "Infinite"  | [image] | infinite scale                                      |

* If a scaling function is specified for either direction, it is applied after the normal log scaling.

### List of all options

|                        |                     |                                                                                    |
| ---------------------- | ------------------- | ---------------------------------------------------------------------------------- |
| 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                                                     |
| PlotInteractivity      | \$PlotInteractivity | whether to allow interactive elements                                              |
| PlotLabel              | None                | overall label for the plot                                                         |
| PlotLabels             | None                | labels to use for 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                                |
| 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                                        |

---

## Examples (134)

### Basic Examples (4)

Powers show up as straight lines on a log-log plot:

```wl
In[1]:= LogLogPlot[x ^ 2 + x ^ 3, {x, 1, 100}]

Out[1]= [image]
```

---

Plot several functions with legends:

```wl
In[1]:= LogLogPlot[{x ^ 2, x ^ 3, x ^ 4, x ^ 5}, {x, 1, 10 ^ 4}, PlotLegends -> "Expressions"]

Out[1]= [image]
```

---

Label each curve:

```wl
In[1]:= LogLogPlot[{Log[x] ^ x, x ^ x}, {x, 0.1, 10}, PlotLabels -> "Expressions"]

Out[1]= [image]
```

---

Fill between curves:

```wl
In[1]:= LogLogPlot[{10 / (x ^ 2 - 6x + 10), 100 / (x ^ 2 + 100)}, {x, 0.1, 1000}, Filling -> {1 -> {2}}]

Out[1]= [image]
```

### Scope (30)

#### Sampling (7)

More points are sampled when the function changes quickly:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}]

Out[1]= [image]
```

---

The plot range is selected automatically:

```wl
In[1]:= LogLogPlot[Abs[1 / (x - 5)], {x, 1, 10}]

Out[1]= [image]
```

---

Ranges where the function becomes negative are excluded:

```wl
In[1]:= LogLogPlot[1 / ((x - 3)(x - 5)), {x, 1, 10}]

Out[1]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[Floor[Sqrt[x]], {x, 1, 100}]

Out[1]= [image]
```

---

Use ``PlotPoints`` and ``MaxRecursion`` to control adaptive sampling:

```wl
In[1]:= Grid@Table[LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, PlotPoints -> pp, MaxRecursion -> mr], {mr, {0, 1, 2}}, {pp, {5, 10}}]

Out[1]= [image]
```

---

Use ``PlotRange`` to focus in on areas of interest:

```wl
In[1]:= {LogLogPlot[10 / (x ^ 2 - 5x + 10), {x, 1, 100}], LogLogPlot[10 / (x ^ 2 - 5x + 10), {x, 1, 100}, PlotRange -> {1, 3}]}

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

---

Use ``Exclusions`` to remove points or split the resulting curve:

```wl
In[1]:= LogLogPlot[Exp[Tan[x]], {x, 1, 10}, Exclusions -> {Cos[x] == 0}]

Out[1]= [image]
```

#### Labeling and Legending (11)

Label curves with ``Labeled`` :

```wl
In[1]:= LogLogPlot[Evaluate@Table[Labeled[Log[n x] ^ x, Log[n x] ^ x], {n, 1, 3}], {x, 0.5, 3}]

Out[1]= [image]
```

Place the labels relative to the curves:

```wl
In[2]:= Table[LogLogPlot[Labeled[x ^ Sin[x], "label", p], {x, 1, 6}, PlotLabel -> p], {p, {Above, Below, Before, After}}]

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

---

Label curves with ``PlotLabels`` :

```wl
In[1]:= LogLogPlot[{Log[x] ^ x, x ^ x}, {x, 1, 10}, PlotLabels -> {Log[x] ^ x, x ^ x}]

Out[1]= [image]
```

---

Place the label near the curve at an $x$ value:

```wl
In[1]:= LogLogPlot[Labeled[x ^ Sin[x], "label", Log[6]], {x, 2, 10}]

Out[1]= [image]
```

---

Use a scaled position:

```wl
In[1]:= LogLogPlot[Labeled[x ^ Sin[x], "label", Scaled[0.1]], {x, 2, 10}]

Out[1]= [image]
```

Specify the text position relative to the point:

```wl
In[2]:= LogLogPlot[Labeled[x ^ Sin[x], "label", {Scaled[0.1], Below}], {x, 2, 10}]

Out[2]= [image]
```

---

Label curves automatically with ``Callout`` :

```wl
In[1]:= LogLogPlot[{Callout[x ^ Sin[x], x ^ Sin[x]], Callout[x, x]}, {x, 1, 20}]

Out[1]= [image]
```

---

Place labels at specific locations:

```wl
In[1]:= LogLogPlot[Callout[x ^ (Sin[x]), "max", Above], {x, 1, 5}]

Out[1]= [image]

In[2]:= LogLogPlot[{Callout[x, x, {5, Above}], Callout[x ^ (Sin[x]), x ^ x, {4, Below}]}, {x, 1, 18}]

Out[2]= [image]
```

---

Include legends for each curve:

```wl
In[1]:= LogLogPlot[{x ^ Sin[x], x ^ Cos[x]}, {x, 1, 2π}, PlotLegends -> {x ^ Sin[x], x ^ Cos[x]}]

Out[1]= [image]
```

---

Use ``Legended`` to provide a legend for a specific curve:

```wl
In[1]:= LogLogPlot[{x ^ Sin[x], Legended[Mean[{x ^ Sin[x], x ^ Cos[x]}], "average"], x ^ Cos[x]}, {x, 1, 2π}]

Out[1]= [image]
```

Use ``Placed`` to change the legend location:

```wl
In[2]:= LogLogPlot[{x ^ Sin[x], Legended[Mean[{x ^ Sin[x], x ^ Cos[x]}], Placed["average", Below]], x ^ Cos[x]}, {x, 1, 2π}]

Out[2]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.1, 4.5}]

Out[1]= [image]
```

Including specific wrappers or interactions, such as tooltips, turns off the interactive features:

```wl
In[2]:= LogLogPlot[Callout[2^x, "hello", 2], {x, 0.1, 4.5}]

Out[2]= [image]
```

---

Choose from multiple interactive highlighting effects:

```wl
In[1]:= {LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> "Dropline"], LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> "XSlice"]}

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

---

Use ``Highlighted`` to emphasize specific points in a plot:

```wl
In[1]:= LogLogPlot[Highlighted[2^x, Placed["Ball", 1]], {x, 0.01, 4.5}, PlotHighlighting -> "Dropline"]

Out[1]= [image]
```

#### Presentation (12)

Multiple curves are automatically colored to be distinct:

```wl
In[1]:= LogLogPlot[{Log[x], x, x ^ 2, E ^ x}, {x, 1, 100}]

Out[1]= [image]
```

---

Provide explicit styling to different curves:

```wl
In[1]:= LogLogPlot[{Log[x], x, x ^ 2, E ^ x}, {x, 1, 100}, PlotStyle -> {AbsoluteThickness[3], Automatic, Red, Dashed}]

Out[1]= [image]
```

---

Add labels:

```wl
In[1]:= LogLogPlot[1 / Abs[x - 10], {x, 1, 1000}, AxesLabel -> Automatic, PlotLabel -> 1 / Abs[x - 10]]

Out[1]= [image]
```

---

Create legends from the functions:

```wl
In[1]:= LogLogPlot[{10 / (x ^ 2 - 6x + 10), 100 / (x ^ 2 + 100)}, {x, 0.1, 1000}, PlotLegends -> "Expressions"]

Out[1]= [image]
```

Specify labels for legends:

```wl
In[2]:= LogLogPlot[{10 / (x ^ 2 - 6x + 10), 100 / (x ^ 2 + 100)}, {x, 0.1, 1000}, PlotLegends -> {"one", "two"}]

Out[2]= [image]
```

---

Provide an interactive ``Tooltip`` for each curve:

```wl
In[1]:= LogLogPlot[{Tooltip[Log[x]], Tooltip[1 / x]}, {x, 1, 100}]

Out[1]= [image]
```

---

Create filled plots:

```wl
In[1]:= LogLogPlot[{x, 1 / x}, {x, 0.01, 100}, Filling -> 1]

Out[1]= [image]
```

---

Use a theme with a frame, grid lines, and an automatic legend:

```wl
In[1]:= LogLogPlot[{10 / (x ^ 2 - 6x + 10), 100 / (x ^ 2 + 100)}, {x, 0.1, 1000}, PlotTheme -> "Detailed"]

Out[1]= [image]
```

Use a more vibrant theme:

```wl
In[2]:= LogLogPlot[{10 / (x ^ 2 - 6x + 10), 100 / (x ^ 2 + 100)}, {x, 0.1, 1000}, PlotTheme -> "Marketing"]

Out[2]= [image]
```

---

Create an overlay mesh:

```wl
In[1]:= LogLogPlot[1 / Abs[x - 10], {x, 1, 1000}, Mesh -> 20, MeshFunctions -> {Log[#1]&}]

Out[1]= [image]
```

---

Style the curve segments between mesh points:

```wl
In[1]:= LogLogPlot[1 / Abs[x - 10], {x, 1, 1000}, Mesh -> 15, MeshFunctions -> {Log[#1]&}, MeshShading -> {Red, None, Blue}]

Out[1]= [image]
```

---

Show multiple curves in a row of separate panels:

```wl
In[1]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 10] + 1 / Abs[x - 50]}, {x, 1, 1000}, PlotLayout -> "Row"]

Out[1]= [image]
```

Use a column instead of a row:

```wl
In[2]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 10] + 1 / Abs[x - 50]}, {x, 1, 1000}, PlotLayout -> "Column"]

Out[2]= [image]
```

Use multiple rows or columns:

```wl
In[3]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 10] + 1 / Abs[x - 50], 1 / Abs[x ^ 2 - 1000], 1 / Abs[x ^ 2 - 15x + 30]}, {x, 1, 1000}, PlotLayout -> {"Row", 2}]

Out[3]= [image]
```

---

Use ``ScalingFunctions`` to reverse the ``y`` axis:

```wl
In[1]:= LogLogPlot[x^x, {x, 0, 10}, ScalingFunctions -> "Reverse", PlotRange -> All]

Out[1]= [image]
```

---

Scale both ``x`` and ``y`` axes:

```wl
In[1]:= LogLogPlot[x^x, {x, 0, 10}, ScalingFunctions -> {"Reverse", "Reverse"}]

Out[1]= [image]
```

### Options (96)

#### ClippingStyle (5)

Omit clipped regions of the plot:

```wl
In[1]:= LogLogPlot[Exp[Sin[(x - 2)] / (x - 2) ^ 2], {x, 1, 5}, ClippingStyle -> None, PlotRange -> {1*^-1, 1*^1}, AxesOrigin -> {2, 1}]

Out[1]= [image]
```

---

Show the clipped regions like the rest of the curve:

```wl
In[1]:= LogLogPlot[Exp[Sin[(x - 2)] / (x - 2) ^ 2], {x, 1, 5}, ClippingStyle -> Automatic, PlotRange -> {1*^-1, 1*^1}, AxesOrigin -> {2, 1}]

Out[1]= [image]
```

---

Show clipped regions with red lines:

```wl
In[1]:= LogLogPlot[Exp[Sin[(x - 2)] / (x - 2) ^ 2], {x, 1, 5}, ClippingStyle -> Red, PlotRange -> {1*^-1, 1*^1}, AxesOrigin -> {2, 1}]

Out[1]= [image]
```

---

Show clipped regions as thick at the bottom and red at the top:

```wl
In[1]:= LogLogPlot[Exp[Sin[(x - 2)] / (x - 2) ^ 2], {x, 1, 5}, ClippingStyle -> {Red, Thick}, PlotRange -> {1*^-1, 1*^1}, AxesOrigin -> {2, 1}]

Out[1]= [image]
```

---

Show clipped regions as red and thick:

```wl
In[1]:= LogLogPlot[Exp[Sin[(x - 2)] / (x - 2) ^ 2], {x, 1, 5}, ClippingStyle -> Directive[Thick, Red], PlotRange -> {1*^-1, 1*^1}, AxesOrigin -> {2, 1}]

Out[1]= [image]
```

#### ColorFunction (5)

Color by scaled $y$ coordinate and scaled $x$ coordinate, respectively:

```wl
In[1]:= Table[LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, ColorFunction -> Function[{x, y}, Evaluate[f]], PlotLabel -> f], {f, {Hue[x], Hue[y]}}]

Out[1]= [image]
```

---

Color a curve red when its absolute $y$ coordinate is above 1:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, ColorFunction -> Function[{x, y}, If[y > 1, Red, Black]], ColorFunctionScaling -> False, PlotStyle -> Thick]

Out[1]= [image]
```

---

Fill with the color used for the curve:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, ColorFunction -> Function[{x, y}, Hue[y]], Filling -> Axis]

Out[1]= [image]
```

---

``ColorFunction`` has higher priority than ``PlotStyle`` for coloring the curve:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, ColorFunction -> "DarkRainbow", PlotStyle -> Directive[Red, AbsoluteThickness[5]]]

Out[1]= [image]
```

---

Use a color function that is red at powers of 10:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, ColorFunction -> Function[{x, y}, Hue[Log[10, y]]], PlotStyle -> Thick, ColorFunctionScaling -> False]

Out[1]= [image]
```

#### ColorFunctionScaling (3)

No argument scaling on the left, automatic scaling on the right:

```wl
In[1]:= Table[LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, PlotStyle -> Thick, ColorFunction -> Function[{x, y}, Hue[y]], ColorFunctionScaling -> cf], {cf, {False, True}}]

Out[1]= [image]
```

---

Scaling is done on a linear scale in the original coordinates:

```wl
In[1]:= Table[LogLogPlot[t, {t, 0.1, 2 ^ i}, PlotStyle -> Thick, ColorFunction -> Function[{x, y}, Hue[y]]], {i, {0, 10, 20}}]

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

---

Use a color function that is red at powers of 10:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, ColorFunction -> Function[{x, y}, Hue[Log[10, y]]], PlotStyle -> Thick, ColorFunctionScaling -> False]

Out[1]= [image]
```

#### EvaluationMonitor (3)

Find the list of values sampled by ``LogLogPlot`` :

```wl
In[1]:= Reap[LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, EvaluationMonitor :> Sow[x]];]//Short

Out[1]//Short= {Null, {{«1»}}}
```

---

Show where ``LogLogPlot`` evaluates the function:

```wl
In[1]:= data = Reap[ LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, EvaluationMonitor :> Sow[{x, 10 / (x ^ 2 - 6x + 10)}]] ][[-1, 1]];

In[2]:= ListLogLogPlot[data , Filling -> Axis]

Out[2]= [image]
```

---

Count how many times the function is evaluated:

```wl
In[1]:= Block[{k = 0}, LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, EvaluationMonitor :> k++];k]

Out[1]= 204
```

#### Exclusions (2)

Use automatic methods for computing exclusions, in this case for a piecewise function:

```wl
In[1]:= LogLogPlot[Sum[Boole[2 ^ (k - 1) < x < 2 ^ k]x / (2 ^ k - x), {k, 5}], {x, 1, 2 ^ 5}]

Out[1]= [image]
```

---

Indicate that no exclusions should be computed:

```wl
In[1]:= LogLogPlot[Sum[Boole[2 ^ (k - 1) < x < 2 ^ k]x / (2 ^ k - x), {k, 5}], {x, 1, 2 ^ 5}, Exclusions -> None]

Out[1]= [image]
```

#### ExclusionsStyle (2)

Use dashed lines to indicate the vertical asymptotes:

```wl
In[1]:= LogLogPlot[Sum[Boole[2 ^ (k - 1) < x < 2 ^ k]x / (2 ^ k - x), {k, 5}], {x, 1, 2 ^ 5}, ExclusionsStyle -> Dashed]

Out[1]= [image]
```

---

Use blue points to highlight the exclusions:

```wl
In[1]:= LogLogPlot[Gamma[Floor[x]], {x, 1, 10}, ExclusionsStyle -> {None, Blue}]

Out[1]= [image]
```

#### Filling (7)

Use symbolic or explicit values:

```wl
In[1]:= Table[LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 100}, Filling -> f], {f, {Axis, Top, Bottom, 1}}]

Out[1]= [image]
```

---

Overlapping fills by default combine using opacity:

```wl
In[1]:= LogLogPlot[{(x - 5) ^ 2 / x, x / (x - 5) ^ 2}, {x, 1, 25}, Filling -> Axis]

Out[1]= [image]
```

---

Fill between curve 1 and the axis:

```wl
In[1]:= LogLogPlot[{(x - 5) ^ 2 / x, x / (x - 5) ^ 2}, {x, 1, 25}, Filling -> {1 -> Axis}]

Out[1]= [image]
```

---

Fill between curves 1 and 2:

```wl
In[1]:= LogLogPlot[{(x - 5) ^ 2 / x, x / (x - 5) ^ 2}, {x, 1, 25}, Filling -> {1 -> {2}}]

Out[1]= [image]
```

---

Fill between curves 1 and 2 with a specific style:

```wl
In[1]:= LogLogPlot[{(x - 5) ^ 2 / x, x / (x - 5) ^ 2}, {x, 1, 25}, Filling -> {1 -> {{2}, Yellow}}]

Out[1]= [image]
```

---

Fill between curves 1 and 2; use yellow when 1 is below 2 and green when 2 is above 1:

```wl
In[1]:= LogLogPlot[{(x - 5) ^ 2 / x, x / (x - 5) ^ 2}, {x, 1, 25}, Filling -> {1 -> {{2}, {Yellow, Green}}}]

Out[1]= [image]
```

---

Fill between curves 1 and $y=1$ with yellow:

```wl
In[1]:= LogLogPlot[{(x - 5) ^ 2 / x, x / (x - 5) ^ 2}, {x, 1, 25}, Filling -> {1 -> {1, Yellow}}]

Out[1]= [image]
```

#### FillingStyle (4)

Use different fill colors:

```wl
In[1]:= Table[LogLogPlot[Abs[Tan[x]], {x, 1, 10}, Filling -> Bottom, FillingStyle -> c], {c, {Red, Green, Blue, Yellow}}]

Out[1]= [image]
```

---

Fill with opacity 0.5 yellow:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 0.1, 1000}, Filling -> Bottom, FillingStyle -> Directive[Opacity[0.5], Yellow]]

Out[1]= [image]
```

---

Fill with red below $y=5$ and blue above:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 0.1, 1000}, Filling -> 1., FillingStyle -> {Red, Blue}]

Out[1]= [image]
```

---

Use a variable filling style obtained from a ``ColorFunction`` :

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 0.1, 1000}, ColorFunction -> Function[{x, y}, Hue[y]], Filling -> Bottom, FillingStyle -> Automatic]

Out[1]= [image]

In[2]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 0.1, 1000}, ColorFunction -> Function[{x, y}, Hue[x]], Filling -> Bottom, FillingStyle -> Automatic]

Out[2]= [image]
```

#### LabelingSize (4)

Textual labels are shown at their actual sizes:

```wl
In[1]:= LogLogPlot[{Log[x], x}, {x, 1, 10}, PlotLabels -> {"barcarole", "perilously"}]

Out[1]= [image]
```

---

Image labels are automatically resized:

```wl
In[1]:= LogLogPlot[{Log[x], x}, {x, 1, 10}, PlotLabels -> {[image], [image]}]

Out[1]= [image]
```

---

Specify a maximum size for textual labels:

```wl
In[1]:= LogLogPlot[{Log[x], x}, {x, 1, 10}, PlotLabels -> {"barcarole", "perilously"}, LabelingSize -> 30]

Out[1]= [image]
```

Specify a maximum size for image labels:

```wl
In[2]:= LogLogPlot[{Log[x], x}, {x, 1, 10}, PlotLabels -> {[image], [image]}, LabelingSize -> 50]

Out[2]= [image]
```

---

Show image labels at their natural sizes:

```wl
In[1]:= LogLogPlot[{Log[x], x}, {x, 1, 10}, PlotLabels -> {[image], [image]}, LabelingSize -> Full]

Out[1]= [image]
```

#### MaxRecursion (2)

The default sampling mesh:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 0.1, 1000}, Mesh -> All]

Out[1]= [image]
```

---

Each level of ``MaxRecursion`` will subdivide the initial mesh into a finer mesh:

```wl
In[1]:= Table[LogLogPlot[1 / Abs[(x ^ 2 - 10x + 10)], {x, 0.5, 25}, MaxRecursion -> i, Mesh -> All, Ticks -> None], {i, {0, 3, 6}}]

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

#### Mesh (3)

Show the initial and final sampling meshes:

```wl
In[1]:= Table[LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> m, MeshStyle -> Red], {m, {Full, All}}]

Out[1]= [image]
```

---

Use 20 mesh levels evenly spaced in the unscaled $x$ direction:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> 20, MeshStyle -> Red]

Out[1]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, MeshStyle -> PointSize[Medium]]

Out[1]= [image]
```

#### MeshFunctions (4)

Use a mesh evenly spaced in the $x$ and $y$ directions:

```wl
In[1]:= Table[LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, MeshFunctions -> {Function[{x, y}, Evaluate[f]]}, Mesh -> 10, MeshStyle -> PointSize[Medium]], {f, {x, y}}]

Out[1]= [image]
```

---

Mesh functions use the unscaled values in the $x$ and $y$ directions:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> 10, MeshFunctions -> {#2&}, MeshStyle -> PointSize[Medium]]

Out[1]= [image]
```

---

Use ``Log`` to scale the mesh functions:

```wl
In[1]:= Table[LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, MeshFunctions -> {Function[{x, y}, Evaluate[f]]}, Mesh -> 10, MeshStyle -> PointSize[Medium]], {f, {Log[x], Log[y]}}]

Out[1]= [image]
```

---

Show 5 mesh levels in the $x$ direction (red) and 10 in the $y$ direction (blue):

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {5, 10}, MeshFunctions -> {#1&, #2&}, MeshStyle -> {Directive[PointSize[Medium], Red], Blue}]

Out[1]= [image]
```

#### MeshShading (6)

Alternate red and blue segments of equal width in the $x$ direction:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, MeshShading -> {Red, Blue}]

Out[1]= [image]
```

---

Use ``None`` to remove segments:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, MeshShading -> {Red, None}]

Out[1]= [image]
```

---

``MeshShading`` can be used with ``PlotStyle`` :

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, PlotStyle -> Thick, MeshShading -> {Red, Blue}]

Out[1]= [image]
```

---

``MeshShading`` has higher priority than ``PlotStyle`` for styling the curve:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, PlotStyle -> Green, MeshShading -> {Red, Blue}]

Out[1]= [image]
```

---

Use ``PlotStyle`` for some segments by setting ``MeshShading`` to ``Automatic`` :

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, PlotStyle -> Directive[Thick, Yellow], MeshShading -> {Red, Automatic}]

Out[1]= [image]
```

---

``MeshShading`` can be used with ``ColorFunction`` :

```wl
In[1]:=
LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {2 ^ Range[-3, 10]}, PlotStyle -> Thick, MeshShading -> {Black, Automatic}, 
	ColorFunction -> Function[{x, y}, Hue[Log[x] / 10]]]

Out[1]= [image]
```

#### MeshStyle (4)

Color the mesh the same color as the plot:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, MeshStyle -> Automatic]

Out[1]= [image]
```

---

Use a red mesh in the $x$ direction:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, MeshStyle -> Red]

Out[1]= [image]
```

---

Use a red mesh in the $x$ direction and a blue mesh in the $y$ direction:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}, {0.001, 0.01, 0.1, 1, 10}}, MeshStyle -> {Red, Blue}, MeshFunctions -> {#1&, #2&}]

Out[1]= [image]
```

---

Use big red mesh points in the $x$ direction:

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, Mesh -> {{0.5, 1, 5, 10, 50, 100, 500}}, MeshStyle -> Directive[PointSize[Large], Red]]

Out[1]= [image]
```

#### PerformanceGoal (2)

Generate a higher-quality plot:

```wl
In[1]:= Timing[LogLogPlot[Abs[Sin[1 / x]], {x, 0.00001, 1}, PerformanceGoal -> "Quality"]]

Out[1]= [image]
```

---

Emphasize performance, possibly at the cost of quality:

```wl
In[1]:= Timing[LogLogPlot[Abs[Sin[1 / x]], {x, 0.00001, 1}, PerformanceGoal -> "Speed"]]

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

#### PlotHighlighting (8)

Plots have interactive coordinate callouts with the default setting ``PlotHighlighting -> Automatic`` :

```wl
In[1]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}]

Out[1]= [image]
```

Use ``PlotHighlighting -> None`` to disable the highlighting for the entire plot:

```wl
In[2]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> None]

Out[2]= [image]
```

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

```wl
In[3]:= LogLogPlot[{2^x, Highlighted[Gamma[x], None]}, {x, 0.01, 4.5}]

Out[3]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> "Ball"]

Out[1]= [image]
```

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

```wl
In[2]:= LogLogPlot[Highlighted[Gamma[x], Placed["Ball", 2]], {x, 0.01, 4.5}]

Out[2]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[Gamma[x], {x, 0.01, 4.5}, PlotHighlighting -> "Dropline"]

Out[1]= [image]
```

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

```wl
In[2]:= LogLogPlot[Highlighted[Gamma[x], Placed["Dropline", 2]], {x, 0.01, 4.5}]

Out[2]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> "XSlice"]

Out[1]= [image]
```

Highlight the curves at a fixed $x$ value:

```wl
In[2]:= LogLogPlot[Highlighted[{2^x, Gamma[x]}, Placed["XSlice", 1]], {x, 0.01, 4.5}]

Out[2]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[Gamma[x], {x, 0.01, 4.5}, PlotHighlighting -> "YSlice"]

Out[1]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> "XNearestPoint"]

Out[1]= [image]
```

Specify the style for the points:

```wl
In[2]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> {"XNearestPoint", <|"Style" -> Black|>}]

Out[2]= [image]
```

---

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

```wl
In[1]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> "XYLabel"]

Out[1]= [image]
```

Use ``Callout`` options to change the appearance of the label:

```wl
In[2]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> {"XYLabel", <|"Appearance" -> "Corners", "CalloutMarker" -> "Circle"|>}]

Out[2]= [image]
```

---

Combine components to create a custom effect:

```wl
In[1]:= LogLogPlot[{2^x, Gamma[x]}, {x, 0.01, 4.5}, PlotHighlighting -> {{"XNearestPoint", <|"Style" -> Black|>}, {"XYLabel", <|"Appearance" -> "Corners", "CalloutMarker" -> "Circle"|>}}]

Out[1]= [image]
```

#### PlotInteractivity (4)

Plots have interactive highlighting by default:

```wl
In[1]:= LogLogPlot[x + Sin[x], {x, 1, 100}]

Out[1]= [image]
```

---

Turn off all the interactive elements:

```wl
In[1]:= LogLogPlot[x + Sin[x], {x, 1, 100}, PlotInteractivity -> False]

Out[1]= [image]
```

---

Interactive elements provided as part of the input are disabled:

```wl
In[1]:= LogLogPlot[Tooltip[x + Sin[x], "hello"], {x, 1, 100}, PlotInteractivity -> False]

Out[1]= [image]
```

---

Allow provided interactive elements and disable automatic ones:

```wl
In[1]:= LogLogPlot[Tooltip[x + Sin[x], "hello"], {x, 1, 100}, PlotInteractivity -> <|"User" -> True, "System" -> False|>]

Out[1]= [image]
```

#### PlotLabel (1)

Add an overall label to the plot:

```wl
In[1]:= LogLogPlot[Log[x] ^ x, {x, 1, 10}, PlotLabel -> Log[x] ^ x]

Out[1]= [image]
```

#### PlotLabels (5)

Specify text to label curves:

```wl
In[1]:= LogLogPlot[{Log[x], x ^ x}, {x, 1, 2π}, PlotLabels -> {"log(x)", "x^x"}]

Out[1]= [image]
```

---

Place the labels above the curves:

```wl
In[1]:= LogLogPlot[{x ^ Sin[x], x ^ Cos[x]}, {x, 1, 2π}, PlotLabels -> Placed["Expressions", Above]]

Out[1]= [image]
```

Place the labels differently for each curve:

```wl
In[2]:= LogLogPlot[{x ^ Sin[x], x ^ Cos[x]}, {x, 1, 2π}, PlotLabels -> {Placed[x ^ Sin[x], After], Placed[x ^ Cos[x], Above]}]

Out[2]= [image]
```

---

``PlotLabels -> "Expression"`` uses functions as curve labels:

```wl
In[1]:= LogLogPlot[{Log[x], x ^ x}, {x, 1, 3}, PlotLabels -> "Expressions"]

Out[1]= [image]
```

---

Use callouts to identify the points:

```wl
In[1]:= LogLogPlot[{x, x ^ Sin[x]}, {x, 1, 10}, PlotLabels -> {Callout[x, Scaled[0.33]], Callout[x ^ Sin[x], Scaled[0.5]]}]

Out[1]= [image]
```

---

Use ``None`` to not add a label:

```wl
In[1]:= LogLogPlot[{x ^ Sin[x], x ^ Cos[x]}, {x, 1, 2π}, PlotLabels -> {x ^ Sin[x], None}]

Out[1]= [image]
```

#### PlotLayout (2)

Place each curve in a separate panel using shared axes:

```wl
In[1]:= LogLogPlot[{x, x ^ 2, x ^ 3}, {x, 1, 100}, ImageSize -> Medium, PlotLayout -> "Column"]

Out[1]= [image]
```

Use a row instead of a column:

```wl
In[2]:= LogLogPlot[{x, x ^ 2, x ^ 3}, {x, 1, 100}, ImageSize -> Medium, PlotLayout -> "Row"]

Out[2]= [image]
```

---

Use multiple columns or rows:

```wl
In[1]:= LogPlot[{x, x ^ 2, x ^ 3, x + Sin[x], Log[x], Log[x]}, {x, 1, 100}, PlotLayout -> {"Column", 4}]

Out[1]= [image]
```

Prefer full columns or rows:

```wl
In[2]:= LogLogPlot[{x, x ^ 2, x ^ 3, x + Sin[x], Log[x], Log[x]}, {x, 1, 100}, PlotLayout -> {"Column", UpTo[4]}]

Out[2]= [image]
```

#### PlotLegends (7)

No legends are used by default:

```wl
In[1]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 100]}, {x, 1, 1000}]

Out[1]= [image]
```

---

Create a legend based on the functions:

```wl
In[1]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 100]}, {x, 1, 1000}, PlotLegends -> "Expressions"]

Out[1]= [image]
```

---

Create a legend with placeholder text:

```wl
In[1]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 100]}, {x, 1, 1000}, PlotLegends -> Automatic]

Out[1]= [image]
```

---

Specify labels for each curve:

```wl
In[1]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 100]}, {x, 1, 1000}, PlotLegends -> {"one", "two"}]

Out[1]= [image]
```

---

``PlotLegends`` picks up ``PlotStyle`` values automatically:

```wl
In[1]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 100]}, {x, 1, 1000}, PlotStyle -> {Red, Blue}, PlotLegends -> Automatic]

Out[1]= [image]
```

---

Use ``Placed`` to position legends:

```wl
In[1]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 100]}, {x, 1, 1000}, PlotStyle -> {Red, Blue}, PlotLegends -> Placed[Automatic, Below]]

Out[1]= [image]
```

Place legends inside:

```wl
In[2]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 100]}, {x, 1, 1000}, PlotStyle -> {Red, Blue}, PlotLegends -> Placed[Automatic, {0.875, 0.75}]]

Out[2]= [image]
```

---

Use ``LineLegend`` to modify the appearance of the legend:

```wl
In[1]:= LogLogPlot[{1 / Abs[x - 10], 1 / Abs[x - 100]}, {x, 1, 1000}, PlotLegends -> LineLegend["Expressions", LegendFunction -> Frame]]

Out[1]= [image]
```

#### PlotPoints (1)

Use more initial points to get a smoother curve:

```wl
In[1]:= Table[LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, PlotPoints -> p, MaxRecursion -> 0], {p, {5, 10, 15, 25}}]

Out[1]= [image]
```

#### PlotRange (1)

Show the curve only where it is positive:

```wl
In[1]:= LogLogPlot[1 / (x - 5), {x, 1, 10}, PlotRange -> Automatic]

Out[1]= [image]
```

#### PlotStyle (6)

Use different style directives:

```wl
In[1]:= Table[LogLogPlot[10 / (x ^ 2 - 19x + 100), {x, 0.1, 100}, PlotStyle -> ps, Ticks -> None], {ps, {Red, Thick, Dashed, Directive[Red, Thick]}}]

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

---

By default, different styles are chosen for multiple curves:

```wl
In[1]:= LogLogPlot[Evaluate[Table[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}]], {x, 0.1, 1000}]

Out[1]= [image]
```

---

Explicitly specify the style for different curves:

```wl
In[1]:= LogLogPlot[Evaluate[Table[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}]], {x, 0.1, 1000}, PlotStyle -> {Red, Green, Blue}]

Out[1]= [image]
```

---

``PlotStyle`` can be combined with ``ColorFunction`` :

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 19x + 100), {x, 0.1, 100}, PlotStyle -> Thick, ColorFunction -> Function[{x, y}, Hue[x]]]

Out[1]= [image]
```

---

``PlotStyle`` can be combined with ``MeshShading`` :

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 19x + 100), {x, 0.1, 100}, PlotStyle -> Directive[Opacity[0.5], Thick], Mesh -> 10, MeshFunctions -> {Log[#1]&}, MeshShading -> {Red, Blue}]

Out[1]= [image]
```

---

``MeshStyle`` by default uses the same style as ``PlotStyle`` :

```wl
In[1]:= LogPlot[x ^ Sin[x], {x, 0, 10}, PlotStyle -> Red, Mesh -> All]

Out[1]= [image]
```

#### PlotTheme (1)

Use a theme with a frame, grid lines, and an automatic legend:

```wl
In[1]:= LogLogPlot[{10 / (x ^ 2 - 6x + 10), 100 / (x ^ 2 + 100)}, {x, 0.1, 1000}, PlotTheme -> "Detailed"]

Out[1]= [image]
```

Turn off the grid lines:

```wl
In[2]:= LogLogPlot[{10 / (x ^ 2 - 6x + 10), 100 / (x ^ 2 + 100)}, {x, 0.1, 1000}, PlotTheme -> "Detailed", GridLines -> None]

Out[2]= [image]
```

#### RegionFunction (2)

Show the curve where $x y<2$ :

```wl
In[1]:= LogLogPlot[Sum[i / (x ^ 2 - 2 i 0.99 x + i ^ 2), {i, {1, 10, 100}}], {x, 0.1, 1000}, RegionFunction -> Function[{x, y}, x y < 2]]

Out[1]= [image]
```

---

Exclude the region where $\frac{1}{2}<y<2$ :

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 19.8x + 100), {x, 0.1, 100}, RegionFunction -> Function[{x, y}, Not[1 / 2 < y < 2]]]

Out[1]= [image]
```

#### ScalingFunctions (2)

By default, both axes have a log scale:

```wl
In[1]:= LogLogPlot[Exp[Sin[(x - 2)] / (x - 2) ^ 2], {x, 0, 25}]

Out[1]= [image]
```

---

Reverse the direction of the ``y`` axis:

```wl
In[1]:= LogLogPlot[Sin[x], {x, 0, 25}, ScalingFunctions -> "Reverse"]

Out[1]= [image]
```

Reverse the direction of both axes:

```wl
In[2]:= LogLogPlot[Sin[x], {x, 0, 25}, ScalingFunctions -> {"Reverse" , "Reverse"}]

Out[2]= [image]
```

### Properties & Relations (4)

``LogLogPlot`` samples more points where it needs to:

```wl
In[1]:= LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 10}, Mesh -> All]

Out[1]= [image]
```

---

``LogLogPlot`` is a special case of ``Plot`` for curves:

```wl
In[1]:= {LogLogPlot[1 / (x - 5) ^ 2, {x, 1, 10}], Plot[Log[1 / (Exp[x] - 5) ^ 2], {x, Log[1], Log[10]}, AxesOrigin -> {0, -3}]}

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

---

Use ``LogPlot`` and ``LogLinearPlot`` for logarithmic plots in the other directions:

```wl
In[1]:= LogPlot[Gamma[x], {x, 0, 10}]

Out[1]= [image]
```

---

Use ``ListLogPlot`` for data:

```wl
In[1]:= {ListLogLogPlot[Table[{x, 10 / (x ^ 2 - 6x + 10)}, {x, 1, 10, 0.1}]], LogLogPlot[10 / (x ^ 2 - 6x + 10), {x, 1, 10}]}

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

## See Also

* [`ListLogLogPlot`](https://reference.wolfram.com/language/ref/ListLogLogPlot.en.md)
* [`LogPlot`](https://reference.wolfram.com/language/ref/LogPlot.en.md)
* [`LogLinearPlot`](https://reference.wolfram.com/language/ref/LogLinearPlot.en.md)
* [`Plot`](https://reference.wolfram.com/language/ref/Plot.en.md)
* [`ParametricPlot`](https://reference.wolfram.com/language/ref/ParametricPlot.en.md)

## Tech Notes

* [Some Special Plots](https://reference.wolfram.com/language/tutorial/GraphicsAndSound.en.md#31896)

## Related Guides

* [Function Visualization](https://reference.wolfram.com/language/guide/FunctionVisualization.en.md)

## History

* [Introduced in 2007 (6.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn60.en.md) \| [Updated in 2012 (9.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn90.en.md) ▪ [2014 (10.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn100.en.md) ▪ [2016 (10.4)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn104.en.md) ▪ [2016 (11.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn110.en.md) ▪ [2018 (11.3)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn113.en.md) ▪ [2021 (13.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn130.en.md) ▪ [2022 (13.1)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn131.en.md) ▪ [2023 (13.3)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn133.en.md) ▪ [2025 (14.3)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn143.en.md)