({{, (RefLink[ListLogLogPlot, paclet:ref/ListLogLogPlot])[{(Subscript[y, 1]),(Subscript[y, 2]),…}]
makes a log-log plot of the (Subscript[y, i]), assumed to correspond to x coordinates 1, 2, ….}, {, (RefLink[ListLogLogPlot, paclet:ref/ListLogLogPlot])[{{(Subscript[x, 1]),(Subscript[y, 1])},{(Subscript[x, 2]),(Subscript[y, 2])},…}] 
makes a log-log plot of the specified list of x and y values.}, {, (RefLink[ListLogLogPlot, paclet:ref/ListLogLogPlot])[{(Subscript[data, 1]),(Subscript[data, 2]),…}]
plots data from all the (Subscript[data, i]).}, {, (RefLink[ListLogLogPlot, paclet:ref/ListLogLogPlot])[{…,w[(Subscript[data, i]),…],…}]
plots (Subscript[data, i]) with features defined by the symbolic wrapper w. }})

OpenersNotesSection(Spacer1)Details and Options

Data values (Subscript[x, i]) and (Subscript[y, i]) can be given in the following forms:

Values (Subscript[x, i]) and (Subscript[y, i]) that are not of the preceding form are taken to be missing and are not shown.

The (Subscript[data, i]) have the following forms and interpretations:

The following wrappers w can be used for the (Subscript[data, i]):

Wrappers w can be applied at multiple levels:

(RefLink[Callout, paclet:ref/Callout]), (RefLink[Labeled, paclet:ref/Labeled]), and (RefLink[Placed, paclet:ref/Placed]) can use the following positions pos:

(RefLink[ListLogLogPlot, paclet:ref/ListLogLogPlot]) has the same options as (RefLink[Graphics, paclet:ref/Graphics]), with the following additions and changes:

(RefLink[DataRange, paclet:ref/DataRange]) determines how values {(Subscript[y, 1]),…,(Subscript[y, n])} are interpreted into {{(Subscript[x, 1]),(Subscript[y, 1])},…,{(Subscript[x, n]),(Subscript[y, n])}}. Possible settings include:

In general, a list of pairs {{(Subscript[x, 1]),(Subscript[y, 1])},{(Subscript[x, 2]),(Subscript[y, 2])},…} is interpreted as a list of points, but the setting (RefLink[DataRange, paclet:ref/DataRange])->(RefLink[All, paclet:ref/All]) forces it to be interpreted as multiple (Subscript[data, i]) {{(Subscript[y, 11]),(Subscript[y, 12])},{(Subscript[y, 21]),(Subscript[y, 23])},…}.

(RefLink[LabelingFunction, paclet:ref/LabelingFunction])->f specifies that each point should have a label given by f[value,index,lbls], where value is the value associated with the point, index is its position in the data, and lbls is the list of relevant labels.

Typical settings for (RefLink[PlotLegends, paclet:ref/PlotLegends]) include:

OpenersPrimaryExamplesSection(Spacer1)Examples  (165)

OpenersExampleSection0(Spacer1)Basic Examples  (5)

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

ListLogLogPlot[Range[20]^3]

Join the points with a line:

ListLogLogPlot[Range[20]^3,Joined->True]

Use x, y coordinates for the data:

ListLogLogPlot[Table[{n Log[n],Prime[n]},{n,20}]]

Show multiple sets of data with a legend:

ListLogLogPlot[{Range[20],Sqrt[Range[20]],Log[Range[20]]},Joined->True,PlotLegends->{"one","two","three"}]

Label each curve:

{data1,data2,data3}=Transpose[Table[{n,2^n,Fibonacci[n]},{n,10}]];

ListLogLogPlot[{data1,data2,data3},Joined->True,PlotLabels->{n,2^n,Fibonacci[n]}]

Generate filled plots:

ListLogLogPlot[Range[20]^3,Filling->Bottom]

ListLogLogPlot[Range[20]^3,Filling->Bottom,Joined->True]

OpenersExampleSection1(Spacer1)Scope  (49)

OpenersExampleSubsection0(Spacer1)Data  (9)

For regular data consisting of y values, the x data range is taken to be integer values:

ListLogLogPlot[Range[40]]

Provide an explicit x data range by using (RefLink[DataRange, paclet:ref/DataRange]):

ListLogLogPlot[Range[40],DataRange->{0,1}]

Plot multiple sets of regular data:

ListLogLogPlot[{Sqrt[Range[40]],Log[Range[40,80]]}]

For irregular data consisting of x, y value pairs, the x data range is inferred from data:

data=Last[Reap[NIntegrate[1/x^2,{x,0.1,2},EvaluationMonitor:>Sow[{x,1/x^2}]]]];

ListLogLogPlot[data]

Plot multiple sets of irregular data:

data1=Table[{x,x^3},{x,RandomReal[20,50]}];
data2=Table[{x,x^5},{x,RandomReal[20,250]}];

ListLogLogPlot[{data1,data2}]

Plot multiple sets of data, regular or irregular, using (RefLink[DataRange, paclet:ref/DataRange]) to map them to the same x range:

data1=Table[x^2,{x,1,10,0.5}];
data2=Table[{x,x^5},{x,RandomReal[10,250]}];

ListLogLogPlot[{data1,data2},DataRange->{1,10}]

Ranges where the data is nonpositive are excluded:

ListLogLogPlot[{1,2,3,1+I,4,5,6,None,7,8,9,Missing["NotAvailable"],10,11,12},Joined->True,Mesh->All]

ListLogLogPlot[Sin[Range[0,3Pi,0.1]],Joined->True,Mesh->All]

Use (RefLink[MaxPlotPoints, paclet:ref/MaxPlotPoints]) to limit the number of points used:

Table[ListLogLogPlot[Table[{n,(Sin[3n]+1)Gamma[n]},{n,0,10,0.01}],MaxPlotPoints->mp,Joined->True,Mesh->All],{mp,{Infinity,50,30}}]

(RefLink[PlotRange, paclet:ref/PlotRange]) is selected automatically:

{ListLogLogPlot[{0,1,2,3,500,5,6,7},Joined->True],ListLogLogPlot[{0,1,2,3,500,5,6,7},Joined->True,PlotRange->All]}

Use (RefLink[PlotRange, paclet:ref/PlotRange]) to focus on areas of interest:

{ListLogLogPlot[Table[{x,Exp[x]/Abs[x-2]},{x,0,5,0.05}]],ListLogLogPlot[Table[{x,Exp[x]/Abs[x-2]},{x,0,5,0.05}],PlotRange->{10,100}]}//Quiet

OpenersExampleSubsection1(Spacer1)Special Data  (9)

Use (RefLink[Quantity, paclet:ref/Quantity]) to include units with the data:

ListLogLogPlot[Quantity[Sqrt[Range[10]],"Meters"],AxesLabel->Automatic]

Include different units for the x and y coordinates:

data=EntityValue[(EntityClass["elements", EntityClass["Element",All], "EntityClass[\"Element\", All]", "elements"]),{"AtomicMass","MeltingPoint"}];

ListLogLogPlot[data,AxesLabel->Automatic]

Plot data in a (RefLink[QuantityArray, paclet:ref/QuantityArray]):

data=QuantityArray[EntityValue[(EntityClass["elements", EntityClass["Element",All], "EntityClass[\"Element\", All]", "elements"]),{"AtomicMass","MeltingPoint"}]]

ListLogLogPlot[data,AxesLabel->Automatic]

Specify the units used with (RefLink[TargetUnits, paclet:ref/TargetUnits]):

ListLogLogPlot[data,TargetUnits->{Automatic,"Kelvin"},AxesLabel->Automatic]

Plot data with uncertainty:

ListLogLogPlot[Table[Around[RandomReal[100],RandomReal[1]],20]]

Use intervals:

ListLogLogPlot[Table[Interval[RandomReal[{1,100},2]],20]]

Specify strings to use as labels:

ListLogLogPlot[{2->"a",3->"b",5->"c",7->"d",11->"e",13->"f",17->"g"}]

ListLogLogPlot[{2,3,5,7,11,13,17}->{"a","b","c","d","e","f","g"}]

Specify a location for labels:

ListLogLogPlot[{2,3,5,7,11,13,17}->{"a","b","c","d","e","f","g"},LabelingFunction->Above]

Numeric values in an (RefLink[Association, paclet:ref/Association]) are used as the y coordinates:

ListLogLogPlot[<|"a"->2,"b"->3,"c"->5,"d"->7,"e"->11,"f"->13|>]

Numeric keys and values in an (RefLink[Association, paclet:ref/Association]) are used as the x and y coordinates:

ListLogLogPlot[<|2->1,3->2,5->3,7->4,11->5,13->6|>]

Plot (RefLink[TimeSeries, paclet:ref/TimeSeries]) directly:

data=CountryData["UnitedStates",{{"Population"},{1988,2013}}]

ListLogLogPlot[data,AxesLabel->Automatic]

Plot data in a (RefLink[SparseArray, paclet:ref/SparseArray]):

ListLogLogPlot[SparseArray[Table[Prime[i]->1,{i,25}]]]

The weights in (RefLink[WeightedData, paclet:ref/WeightedData]) are ignored:

ListLogLogPlot[WeightedData[{2,3,5,7,11,13,17,19,23,29},{1,2,3,4,5,6,7,8,9,10}]]

OpenersExampleSubsection2(Spacer1)Wrappers  (6)

Use wrappers on individual data, datasets, or collections of datasets:

{ListLogLogPlot[{{1,Style[2,Red],3},{4,5,6}},PlotStyle->PointSize[0.05]],ListLogLogPlot[{Style[{1,2,3},Green],{4,5,6}},PlotStyle->PointSize[0.05]],ListLogLogPlot[Style[{{1,2,3},{4,5,6}},Blue],PlotStyle->PointSize[0.05]]}

Wrappers can be nested:

{ListLogLogPlot[{{1,Style[2,Red],3},{4,5,6}},PlotStyle->PointSize[0.05]],ListLogLogPlot[{Style[{1,Style[2,Red],3},Green],{4,5,6}},PlotStyle->PointSize[0.05]],ListLogLogPlot[Style[{Style[{1,Style[2,Red],3},Green],{4,5,6}},Blue],PlotStyle->PointSize[0.05]]}

Use the value of each point as a tooltip:

ListLogLogPlot[Tooltip[Prime[Range[100]]]]

Use a specific label for all the points:

ListLogLogPlot[Tooltip[Prime[Range[100]],"primes"]]

Labels points with automatically positioned text:

ListLogLogPlot[Table[Labeled[RandomReal[1,2],i],{i,20}],PlotStyle->PointSize[Medium],ImageSize->300]

Use (RefLink[PopupWindow, paclet:ref/PopupWindow]) to provide additional drilldown information:

ListLogLogPlot[{1,PopupWindow[2,DateListPlot[FinancialData["IBM","Jan. 1, 2004"]]],3},PlotStyle->PointSize[0.05]]

(RefLink[Button, paclet:ref/Button]) can be used to trigger any action:

ListLogLogPlot[{1,Button[2,Speak[2]],3},PlotStyle->PointSize[0.05]]

OpenersExampleSubsection3(Spacer1)Labeling and Legending  (13)

Label points with automatically positioned text:

ListLogLogPlot[Table[Labeled[RandomReal[1,2],i],{i,20}]]

Place the labels relative to the points:

Table[ListLogLogPlot[Table[Labeled[RandomReal[1,2],i,p],{i,5}],PlotLabel->p],{p,{Above,Below,Before,After}}]

Label data with (RefLink[Labeled, paclet:ref/Labeled]):

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Exp[x],Log[2x]}}];

ListLogLogPlot[MapThread[Labeled[#1,#2]&,{data,{Exp[x],Log[2x]}}]]

Label data with (RefLink[PlotLabels, paclet:ref/PlotLabels]):

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Exp[x],Exp[x+2]}}];

ListLogLogPlot[data,PlotLabels->{Exp[x],Exp[x+2]}]

Place the label near the points at an x value:

ListLogLogPlot[Labeled[Table[{x,Exp[x]},{x,.1,2Pi,0.1}],"exp(x)",3]]

Use a scaled position:

ListLogLogPlot[Labeled[Table[{x,Log[x]},{x,1.1,2Pi,0.1}],"log(x)",Scaled[0.25]]]

Specify the text position relative to the point:

ListLogLogPlot[Labeled[Table[{x,Log[x]},{x,1.1,2Pi,0.1}],Log[x],{Scaled[0.25],Above}]]

Label data automatically with (RefLink[Callout, paclet:ref/Callout]):

ListLogLogPlot[{Callout[Table[PartitionsQ[n],{n,18}],PartitionsQ[n]],Callout[Table[n,{n,18}],n]}]

Place a label with a specific location:

ListLogLogPlot[Callout[Table[n^Sin[n],{n,1,10,0.25}],"label",Above]]

ListLogLogPlot[Callout[Table[n^Sin[n],{n,1,10,0.25}],"label",5]]

Specify label names with (RefLink[LabelingFunction, paclet:ref/LabelingFunction]):

ListLogLogPlot[Prime[Range[10]],LabelingFunction->(#1 &)]

Specify the maximum size of labels:

data=Table[Labeled[Prime[i],RandomWord[]],{i,10}];

ListLogLogPlot[data,LabelingSize->30]

Use the full label:

ListLogLogPlot[data,LabelingSize->Full]

For dense sets of points, some labels may be turned into tooltips by default:

data=Table[Callout[RandomReal[1,2],i],{i,100}];

ListLogLogPlot[data]

Increasing the size of the plot will show more labels:

ListLogLogPlot[data,ImageSize->400]

Include legends for each curve:

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Log[x],Exp[2x]}}];

ListLogLogPlot[data,PlotLegends->{Log[x],Exp[2x]}]

Use (RefLink[Legended, paclet:ref/Legended]) to provide a legend for a specific dataset:

upper=RandomReal[{1.5,2},50];
lower=RandomReal[0.5,50];

ListLogLogPlot[{lower,Legended[Mean[{lower,upper}],"average"],upper}]

Use (RefLink[Placed, paclet:ref/Placed]) to change the legend location:

ListLogLogPlot[{lower,Legended[Mean[{lower,upper}],Placed["average",Below]],upper}]

Use association keys as labels:

ListLogLogPlot[<|"fibonacci"->Fibonacci[Range[10]],"primes"->Prime[Range[10]]|>,PlotLabels->Automatic,PlotLegends->None]

OpenersExampleSubsection4(Spacer1)Presentation  (12)

Multiple datasets are automatically colored to be distinct:

data=Table[Table[{x,f},{x,0,10,0.1}],{f,{Exp[x],Gamma[x]}}];

ListLogLogPlot[data]

Provide explicit styling to different sets:

data=Table[Table[{x,f},{x,0,10,0.1}],{f,{Exp[x],Gamma[x]}}];

ListLogLogPlot[data,PlotStyle->{Blue,Red}]

Include legends for each curve:

data=Table[Table[{x,f},{x,0,10,0.1}],{f,{Exp[x],Gamma[x]}}];

ListLogLogPlot[data,PlotLegends->{Exp[x],Gamma[x]}]

Add labels:

ListLogLogPlot[Table[{k,Binomial[30,k]},{k,0,31}],AxesLabel->{k,None},PlotLabel->Binomial[30,k],PlotStyle->Directive[PointSize[Medium],Purple]]

Provide an interactive (RefLink[Tooltip, paclet:ref/Tooltip]) for the data:

ListLogLogPlot[Table[Tooltip[x,If[PrimeQ[x],Row[{"prime: ",x}],x]],{x,1,25}],PlotStyle->Directive[PointSize[Medium],Orange]]

data=Table[Tooltip[Table[{x,f},{x,0,10,0.1}],TraditionalForm[f]],{f,{Exp[x],Gamma[x]}}];

ListLogLogPlot[data,Joined->True,PlotStyle->Thick]

Create filled plots:

data=Table[Table[{x,f},{x,0,10,0.1}],{f,{Exp[x],Gamma[x]}}];

ListLogLogPlot[data,Filling->{1->{2}},FillingStyle->{Red,Blue}]

Use shapes to distinguish different datasets:

ListLogLogPlot[{{1,2,3,5,8},{2,3,6,9,10},{4,5,10,14,16}},PlotMarkers->Automatic]

Use labels to distinguish different datasets:

ListLogLogPlot[{{1,2,3,5,8},{2,3,6,9,10},{4,5,10,14,16}},PlotMarkers->{"1","2","3"}]

Use (RefLink[Joined, paclet:ref/Joined]) to connect datasets with lines:

ListLogLogPlot[{1,2,4,7,3,5,8,10,9},Joined->True,PlotStyle->Orange]

Use (RefLink[InterpolationOrder, paclet:ref/InterpolationOrder]) to smooth joined data:

Table[ListLogLogPlot[{2,4,16,128,8,32,256,1024,512},Joined->True,InterpolationOrder->io,PlotStyle->Dashed],{io,{0,1,2,3}}]

Use a theme with detailed frame ticks and grid lines:

ListLogLogPlot[Table[Table[{x,f},{x,0,10,0.1}],{f,{Exp[x],Gamma[x]}}],PlotTheme->"Detailed"]

Use a theme with a dark background and vibrant colors:

ListLogLogPlot[Table[Table[{x,f},{x,0,10,0.1}],{f,{Exp[x],Gamma[x]}}],PlotTheme->"Marketing"]

Plot the data in a stacked layout:

data={{10,9,4,3,5,3,5,5,2,6},{2,10,5,6,9,4,9,3,7,2},{7,8,3,4,4,2,6,3,8,7}};

ListLogLogPlot[data,PlotLayout->"Stacked",Joined->True]

Plot the data as percentiles of the total of the values:

ListLogLogPlot[data,PlotLayout->"Percentile",Joined->True]

OpenersExampleSection2(Spacer1)Options  (110)

OpenersExampleSubsection5(Spacer1)ClippingStyle  (6)

(RefLink[ClippingStyle, paclet:ref/ClippingStyle]) only applies to (RefLink[Joined, paclet:ref/Joined]) datasets:

data=Table[{x,Tan[x]},{x,-2 Pi, 2 Pi, .1}];//Quiet

{ListLogLogPlot[data,ClippingStyle->Red,PlotRange->{{.1,3},{.01,1}}],ListLogLogPlot[data,ClippingStyle->Red,Joined->True,PlotRange->{{.1,3},{.01,1}}]}

Omit clipped regions of the plot:

data=Table[{x,Tan[x]},{x,-2 Pi, 2 Pi, .1}];//Quiet

ListLogLogPlot[data,ClippingStyle->None,Joined->True,PlotRange->{{.01,3},All}]

Show clipped regions like the rest of the curve:

data=Table[{x,Tan[x]},{x,-2 Pi, 2 Pi, .1}];//Quiet

ListLogLogPlot[data,ClippingStyle->Automatic,PlotStyle->Thick,Joined->True,PlotRange->{All,{.5,1}}]

Show clipped regions with red lines:

data=Table[{x,Tan[x]},{x,-2 Pi, 2 Pi, .1}];//Quiet

ListLogLogPlot[data,ClippingStyle->Red,Joined->True,PlotRange->{{1.2,1.5},{.1,5}}]

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

data=Table[{x,Tan[x]},{x,-2 Pi, 5Pi, .1}];//Quiet

ListLogLogPlot[data,ClippingStyle->{Red,Thick},Joined->True,PlotRange->{All,{.1,1}},AxesOrigin->{.1,.3}]

Show clipped regions as red and thick:

data=Table[{x,Tan[x]},{x,-2 Pi, 5Pi, .1}];//Quiet

ListLogLogPlot[data,ClippingStyle->Directive[Red,Thick],Joined->True,PlotRange->{All,{.1,1}},AxesOrigin->{.1,.3}]

OpenersExampleSubsection6(Spacer1)ColorFunction  (6)

(RefLink[ColorFunction, paclet:ref/ColorFunction]) only applies to (RefLink[Joined, paclet:ref/Joined]) datasets:

{ListLogLogPlot[Table[{x,Gamma[x]},{x,1,7,0.1}],ColorFunction->"Rainbow"],ListLogLogPlot[Table[{x,Gamma[x]},{x,1,7,0.1}],ColorFunction->"Rainbow",Joined->True]}

Color by scaled x and y coordinates:

Table[ListLogLogPlot[Table[{x,Gamma[x]},{x,1,7,0.1}],Joined->True,ColorFunction->Function[{x,y},Evaluate[f]],PlotLabel->f,PlotStyle->Thick],{f,{Hue[x],Hue[y]}}]

Color with a named color scheme:

ListLogLogPlot[Table[{x,Gamma[x]},{x,1,7,0.1}],Joined->True,ColorFunction->"DarkRainbow"]

Fill with the color used for the curve:

ListLogLogPlot[Table[{x,Gamma[x]},{x,1,7,0.1}],Joined->True,ColorFunction->Function[{x,y},Hue[x]],Filling->Axis]

(RefLink[ColorFunction, paclet:ref/ColorFunction]) has higher priority than (RefLink[PlotStyle, paclet:ref/PlotStyle]) for coloring the curve:

ListLogLogPlot[Table[{x,Gamma[x]},{x,1,7,0.1}],Joined->True,ColorFunction->"DarkRainbow",PlotStyle->Directive[Red,Thick]]

Use (RefLink[Automatic, paclet:ref/Automatic]) in (RefLink[MeshShading, paclet:ref/MeshShading]) to use (RefLink[ColorFunction, paclet:ref/ColorFunction]):

ListLogLogPlot[Table[{x,Gamma[x]},{x,1,7,0.1}],Joined->True,ColorFunction->"Rainbow",PlotStyle->Directive[Red,Thick],Mesh->10,MeshShading->{Automatic,Black},MeshStyle->None]

OpenersExampleSubsection7(Spacer1)ColorFunctionScaling  (3)

(RefLink[ColorFunctionScaling, paclet:ref/ColorFunctionScaling]) only applies to (RefLink[Joined, paclet:ref/Joined]) datasets:

{ListLogLogPlot[Range[10],ColorFunction->"Rainbow",ColorFunctionScaling->True],ListLogLogPlot[Range[10],Joined->True,ColorFunction->"Rainbow",ColorFunctionScaling->True]}

Use no argument scaling on the left and automatic scaling on the right:

Table[ListLogLogPlot[Table[Gamma[x],{x,1,7}],PlotStyle->Thick,ColorFunction->Function[{x,y},Hue[y]],ColorFunctionScaling->cf,Joined->True],{cf,{False,True}}]

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

Table[ListLogLogPlot[Table[Exp[t],{t,0,2^i,0.1}],Joined->True,PlotStyle->Thick,ColorFunction->Function[{x,y},Hue[y]]],{i,{0,2,4}}]

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

ListLogLogPlot[Table[Gamma[x],{x,1,7,0.1}],Joined->True,ColorFunction->Function[{x,y},Hue[Log[10,y]]],PlotStyle->Thick,ColorFunctionScaling->False]

OpenersExampleSubsection8(Spacer1)DataRange  (5)

Lists of height values are displayed against the number of elements:

ListLogLogPlot[Table[Exp[x],{x,0,3,0.1}]]

Rescale to the sampling space:

ListLogLogPlot[Table[Exp[x],{x,0,3,0.1}],DataRange->{0,3}]

Each dataset is scaled to the same domain:

ListLogLogPlot[{Factorial[Range[30]],Exp[Range[10,50]]},DataRange->{1,5}]

Pairs are interpreted as x, y coordinates:

ListLogLogPlot[Table[{i+10,i!},{i,25}],AxesOrigin->{1,0}]

Specifying (RefLink[DataRange, paclet:ref/DataRange]) in this case has no effect, since x values are part of the data:

ListLogLogPlot[Table[{i+10,i!},{i,25}],AxesOrigin->{1,0},DataRange->{1,10}]

Force interpretation as multiple datasets:

ListLogLogPlot[{{1,4},{2,2},{3,3}},DataRange->All,AxesOrigin->{0,0},Joined->True]

OpenersExampleSubsection9(Spacer1)Filling  (8)

Use symbolic or explicit values for "stem" filling:

Table[ListLogLogPlot[Table[Prime[n],{n,30}],Filling->c],{c,{Top,Bottom,Axis,Prime[15]}}]

Fill between corresponding points in two datasets:

ListLogLogPlot[{Range[20],Table[Prime[n],{n,20}]},Filling->{1->{2}}]

Fill between datasets using a particular style:

ListLogLogPlot[{Range[20],Table[Prime[n],{n,20}]},Filling->{1->{{2},Directive[Orange,Dashed]}}]

Fill between datasets 1 and 2; use red when 1 is less than 2 and blue otherwise:

data1=Factorial[Range[30]];
data2=Exp[Range[30]+15];

ListLogLogPlot[{data1,data2},Filling->{1->{{2},{Red,Blue}}}]

Fill to the axis for irregularly sampled data:

data=Last[Reap[Plot[Abs[Tan[x]],{x,0,10},EvaluationMonitor:>Sow[{x,Abs[Tan[x]]}]]]];

ListLogLogPlot[data,Filling->Axis]

Use several irregular datasets, filling between them:

data1=First@Last[Reap[Plot[Abs[Tan[x]],{x,0,2Pi},EvaluationMonitor:>Sow[{x,Abs[Tan[x]]}]]]];
data2=First@Last[Reap[Plot[Abs[Cot[x]],{x,0,2Pi},EvaluationMonitor:>Sow[{x,Abs[Cot[x]]}]]]];

ListLogLogPlot[{Sort@data1,Sort@data2},Filling->{1->{2}}]

(RefLink[Joined, paclet:ref/Joined]) datasets fill with solid areas:

ListLogLogPlot[{Range[20],Table[{n+1/2,Prime[n]},{n,20}]},Filling->{1->{2}},Joined->True]

The type of filling depends on whether the first set is joined:

Table[ListLogLogPlot[{Range[20],Range[20]/2},Joined->{True,False},Filling->f,PlotLabel->f],{f,{1->{2},2->{1}}}]

OpenersExampleSubsection10(Spacer1)FillingStyle  (4)

Fill with blue "stems":

ListLogLogPlot[Table[Prime[n],{n,20}],Filling->Axis,FillingStyle->Blue]

Fill with dashed magenta "stems":

ListLogLogPlot[Table[Prime[n],{n,20}],Filling->Axis,FillingStyle->Directive[Magenta,Dashed]]

Fill with red below y==100 and blue above:

ListLogLogPlot[Table[{x,Gamma[x]},{x,0,10,0.2}],Filling->100,FillingStyle->{Red,Blue}]

Filling is solid when (RefLink[Joined, paclet:ref/Joined])->(RefLink[True, paclet:ref/True]):

ListLogLogPlot[Table[Prime[n],{n,20}],Filling->Axis,Joined->True]

OpenersExampleSubsection11(Spacer1)InterpolationOrder  (5)

Lines created with (RefLink[Joined, paclet:ref/Joined]) can be interpolated:

ListLogLogPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->2]

By default, linear interpolation is used:

ListLogLogPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->None,Mesh->Full]

Use zero-order or piecewise-constant interpolation:

ListLogLogPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->0,Mesh->Full]

Use third-order spline interpolation:

ListLogLogPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->3,Mesh->Full]

Interpolation order 0 to 5:

Table[ListLogLogPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->i,Mesh->Full,PlotLabel->i],{i,0,5}]

OpenersExampleSubsection12(Spacer1)IntervalMarkers  (3)

By default, uncertainties are capped:

ListLogLogPlot[Table[Around[RandomReal[{50,100}],10],10]]

Use bars to denote uncertainties without caps:

ListLogLogPlot[Table[Around[RandomReal[{50,100}],10],10],IntervalMarkers->"Bars"]

Use bands to represent uncertainties:

ListLogLogPlot[Table[Around[RandomReal[{0.5,1}],.1],10],IntervalMarkers->"Bands",Joined->True]

OpenersExampleSubsection13(Spacer1)IntervalMarkersStyle  (2)

Uncertainties automatically inherit the plot style:

ListLogLogPlot[{Table[Around[RandomReal[{50,100}],10],10],Table[Around[RandomReal[{150,200}],10],10]},PlotMarkers->Automatic]

Specify the style for uncertainties:

ListLogLogPlot[{Table[Around[RandomReal[{50,100}],10],10],Table[Around[RandomReal[{150,200}],10],10]},IntervalMarkersStyle->Gray,PlotMarkers->Automatic]

OpenersExampleSubsection14(Spacer1)Joined  (4)

Join the dataset with a line:

ListLogLogPlot[Table[Prime[n],{n,20}],Joined->True]

Join the first dataset with a line but use points for the second dataset:

ListLogLogPlot[{Range[20],Table[Prime[n],{n,20}]},Joined->{True,False}]

Join the dataset with a line and show the original points:

ListLogLogPlot[Table[Prime[n],{n,20}],Joined->True,Mesh->All]

The type of filling depends on whether the set is joined:

Table[ListLogLogPlot[{Range[20],Range[20]/2},Joined->{True,False},Filling->f,PlotLabel->f],{f,{1->{2},2->{1}}}]

OpenersExampleSubsection15(Spacer1)LabelingFunction  (6)

By default, points are automatically labeled with strings:

ListLogLogPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"}]

Use (RefLink[LabelingFunction, paclet:ref/LabelingFunction])->(RefLink[None, paclet:ref/None]) to suppress the labels:

ListLogLogPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->None]

Put the labels above the points:

ListLogLogPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->Above]

Put them in a tooltip:

ListLogLogPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->Tooltip]

Use callouts to label the points:

ListLogLogPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->Callout[Automatic,Automatic]]

Label the points with their values:

ListLogLogPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->(#1&)]

Label the points with their indices:

ListLogLogPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->(#2&)]

OpenersExampleSubsection16(Spacer1)LabelingSize  (4)

Textual labels are shown at their actual sizes:

ListLogLogPlot[{1,1,2,3,5,8}->{"healthfulness","obstreperous","spectrogram","vestige","coinage","limey"},ImageSize->Medium]

Image labels are automatically resized:

ListLogLogPlot[{1,1,2,3,5,8}->{,,,,,},ImageSize->Medium]

Specify a maximum size for textual labels:

ListLogLogPlot[{1,1,2,3,5,8}->{"healthfulness","obstreperous","spectrogram","vestige","coinage","limey"},ImageSize->Medium,LabelingSize->30]

Specify a maximum size for image labels:

ListLogLogPlot[{1,1,2,3,5,8}->{,,,,,},ImageSize->Medium,LabelingSize->20]

Show image labels at their natural sizes:

ListLogLogPlot[{1,1,2,3,5,8}->{,,,,,},ImageSize->Medium,LabelingSize->Full]

OpenersExampleSubsection17(Spacer1)MaxPlotPoints  (3)

All points are included by default:

ListLogLogPlot[Gamma[Range[0,10,0.05]],Joined->True,Mesh->All]

Uniformly spaced data is downsampled:

Table[ListLogLogPlot[Gamma[Range[0,10,0.05]],MaxPlotPoints->mp,Joined->True,Mesh->All],{mp,{Infinity,50,30}}]

Nonuniform data is topologically subsampled to preserve features:

Table[ListLogLogPlot[Table[{n,(Sin[3n]+1)Gamma[n]},{n,0,10,0.01}],MaxPlotPoints->mp,Joined->True,Mesh->All],{mp,{Infinity,50,30}}]

OpenersExampleSubsection18(Spacer1)Mesh  (6)

(RefLink[Mesh, paclet:ref/Mesh]) only applies to (RefLink[Joined, paclet:ref/Joined]) datasets:

{ListLogLogPlot[Table[Gamma[x],{x,8}],Mesh->10],ListLogLogPlot[Table[Gamma[x],{x,8}],Mesh->10,Joined->True]}

The initial and final sampling meshes are typically the same:

{ListLogLogPlot[Table[Gamma[x],{x,8}],Mesh->Full,Joined->True],ListLogLogPlot[Table[Gamma[x],{x,8}],Mesh->All,Joined->True]}

Interpolated data may introduce points:

{ListLogLogPlot[Table[Gamma[x],{x,8}],Mesh->Full,InterpolationOrder->2,Joined->True],ListLogLogPlot[Table[Gamma[x],{x,8}],Mesh->All,InterpolationOrder->2,Joined->True]}

Use 20 mesh levels evenly spaced in the x direction:

ListLogLogPlot[Table[Gamma[x],{x,8}],Mesh->20,Joined->True]

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

ListLogLogPlot[Table[{x,Gamma[x]},{x,0.,10,0.1}],Mesh->{Range[10]},MeshStyle->PointSize[Medium],Joined->True]

Use explicit styles at specific points:

ListLogLogPlot[Table[{x,Gamma[x]},{x,0,10}],Mesh->{Table[{x,Directive[Hue[x/(10)],PointSize[Medium]]},{x,1,10,1}]},Joined->True]

OpenersExampleSubsection19(Spacer1)MeshFunctions  (2)

(RefLink[MeshFunctions, paclet:ref/MeshFunctions]) only applies to (RefLink[Joined, paclet:ref/Joined]) datasets:

{ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshFunctions->{#1&}],ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshFunctions->{#1&},Joined->True]}

Use a mesh evenly spaced in the x direction and unscaled in the y direction:

Table[ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],MeshFunctions->{Function[{x,y},Evaluate[f]]},Mesh->9,PlotLabel->f,Joined->True],{f,{x,y}}]

OpenersExampleSubsection20(Spacer1)MeshShading  (7)

(RefLink[MeshShading, paclet:ref/MeshShading]) only applies to (RefLink[Joined, paclet:ref/Joined]) datasets:

{ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshShading->{Red,Blue}],ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshShading->{Red,Blue},Joined->True]}

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

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshFunctions->{#1&},MeshShading->{Red,Blue},Joined->True]

Use (RefLink[None, paclet:ref/None]) to remove segments:

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshFunctions->{#1&},MeshShading->{Red,None},Joined->True]

(RefLink[MeshShading, paclet:ref/MeshShading]) can be used with (RefLink[PlotStyle, paclet:ref/PlotStyle]):

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,PlotStyle->Thick,MeshFunctions->{#1&},MeshShading->{Red,Blue},Joined->True]

(RefLink[MeshShading, paclet:ref/MeshShading]) has higher priority than (RefLink[PlotStyle, paclet:ref/PlotStyle]) for styling the curve:

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,PlotStyle->Black,MeshFunctions->{#1&},MeshShading->{Red,Blue},Joined->True]

Use (RefLink[PlotStyle, paclet:ref/PlotStyle]) for some segments by setting (RefLink[MeshShading, paclet:ref/MeshShading]) to (RefLink[Automatic, paclet:ref/Automatic]):

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,PlotStyle->Directive[Thick,Yellow],MeshFunctions->{#1&},MeshShading->{Red,Automatic},Joined->True]

(RefLink[MeshShading, paclet:ref/MeshShading]) can be used with (RefLink[ColorFunction, paclet:ref/ColorFunction]) and has higher priority:

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,PlotStyle->Thick,MeshFunctions->{#1&},MeshShading->{Black,Automatic},
ColorFunction->Function[{x,y},Hue[x]],Joined->True]

OpenersExampleSubsection21(Spacer1)MeshStyle  (5)

(RefLink[MeshStyle, paclet:ref/MeshStyle]) only applies to (RefLink[Joined, paclet:ref/Joined]) datasets:

{ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshStyle->Red],ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshStyle->Red,Joined->True]}

Color the mesh the same color as the plot:

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshStyle->Automatic,Joined->True]

Use a red mesh in the x direction:

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshStyle->Red,Joined->True]

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

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshStyle->{Red,Blue},MeshFunctions->{#1&,#2&},Joined->True]

Use big red mesh points in the x direction:

ListLogLogPlot[Table[Binomial[20,k],{k,0,20}],Mesh->10,MeshStyle->Directive[PointSize[Large],Red],Joined->True]

OpenersExampleSubsection22(Spacer1)PlotLabel  (1)

Add an overall label to the plot:

ListLogLogPlot[Prime[Range[100]],PlotLabel->"prime numbers"]

OpenersExampleSubsection23(Spacer1)PlotLabels  (5)

Specify text to label sets of points:

ListLogLogPlot[{Exp[Range[0,2Pi,0.1]],Log[Range[0,2Pi,0.1]]},PlotLabels->{"exp","log"}]

Place the labels above the points:

ListLogLogPlot[{Exp[Range[1,2Pi,0.1]],Log[Range[1.1,2Pi,0.1]]},PlotLabels->Placed[{"exp","log"},Above]]

Use callouts to identify the points:

ListLogLogPlot[{Exp[Range[1,2Pi,0.1]],Log[Range[1.1,2Pi,0.1]]},PlotLabels->{Callout["exp",{Scaled[0.8],Above}],Callout["log",{Scaled[0.8],Below}]}]

Use the keys from an (RefLink[Association, paclet:ref/Association]) as labels:

ListLogLogPlot[<|"exp"->Exp[Range[0,2Pi,0.1]],"log"->Log[Range[1.1,2Pi,0.1]]|>,PlotLabels->Automatic,PlotLegends->None]

Use (RefLink[None, paclet:ref/None]) to not add a label:

ListLogLogPlot[{Log[Range[0,2Pi,0.1]],Exp[Range[0,2Pi,0.1]]},PlotLabels->{"log",None}]

OpenersExampleSubsection24(Spacer1)PlotLayout  (1)

By default, curves are overlaid on each other:

data={{10,9,4,3,5,3,5,5,2,6},{2,10,5,6,9,4,9,3,7,2},{7,8,3,4,4,2,6,3,8,7}};

ListLogLogPlot[data,Joined->True]

Plot the data in a stacked layout:

ListLogLogPlot[data,PlotLayout->"Stacked",Joined->True]

Plot the data as percentiles of the total of the values:

ListLogLogPlot[data,PlotLayout->"Percentile",Joined->True]

Place each curve in a separate panel using shared axes:

ListLogLogPlot[data,PlotLayout->"Column",Joined->True,ImageSize->Medium]

Use rows instead of columns:

ListLogLogPlot[data,PlotLayout->"Row",Joined->True,ImageSize->Medium]

OpenersExampleSubsection25(Spacer1)PlotLegends  (6)

Generate a legend using labels:

ListLogLogPlot[{2^Range[0,15],Range[0,15]!},PlotLegends->{"one","two"}]

Generate a legend using placeholders:

ListLogLogPlot[{2^Range[0,15],Range[0,15]!},PlotLegends->Automatic]

Legends use the same styles as the plot:

ListLogLogPlot[{2^Range[0,15],Range[0,15]!},PlotStyle->{Red,Blue},PlotLegends->Automatic]

Use (RefLink[Placed, paclet:ref/Placed]) to specify the legend placement:

Table[ListLogLogPlot[{2^Range[0,15],Range[0,15]!},PlotLabel->pos,PlotLegends->Placed[Automatic,pos]],{pos,{Above,Below,Before,After}}]

Place the legend inside the plot:

ListLogLogPlot[{2^Range[0,15],Range[0,15]!},PlotStyle->{Red,Blue},PlotLegends->Placed[Automatic,{0.25,0.75}]]

Use (RefLink[PointLegend, paclet:ref/PointLegend]) to change the legend appearance:

ListLogLogPlot[{2^Range[0,15],Range[0,15]!},PlotStyle->{Red,Blue},PlotLegends->PointLegend[Automatic,LegendMarkerSize->10,LegendFunction->Frame]]

OpenersExampleSubsection26(Spacer1)PlotMarkers  (8)

(RefLink[ListLogLogPlot, paclet:ref/ListLogLogPlot]) normally uses distinct colors to distinguish different sets of data:

ListLogLogPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->None]

Automatically use colors and shapes to distinguish sets of data:

ListLogLogPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->Automatic]

Use shapes only:

ListLogLogPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->Automatic,PlotStyle->Black]

Change the size of the default plot markers:

Table[ListLogLogPlot[Table[n^(1/p),{p,4},{n,5}],PlotMarkers->{Automatic,s}],{s,{Small,Medium}}]

ListLogLogPlot[Table[n^(1/p),{p,4},{n,5}],PlotMarkers->{Automatic,Large}]

Use arbitrary text for plot markers:

ListLogLogPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->{"1","2","3","4"}]

Use explicit graphics for plot markers:

{m1,m2,m3,m4}=Graphics/@{Circle[{0,0},1],Disk[{0,0},1],Line[{{-0.5,-0.5},{0.5,-0.5},{0.5,0.5},{-0.5,0.5},{-0.5,-0.5}}],Polygon[{{-0.5,-0.5},{0.5,-0.5},{0.5,0.5},{-0.5,0.5}}]}

ListLogLogPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->Table[{s,0.07},{s,{m1,m2,m3,m4}}]]

Use the same symbol for all the sets of data:

ListLogLogPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->"●"]

Explicitly use a symbol and size:

Table[ListLogLogPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->{"●",s}],{s,{4,8,12}}]

OpenersExampleSubsection27(Spacer1)PlotRange  (2)

(RefLink[PlotRange, paclet:ref/PlotRange]) is automatically calculated:

ListLogLogPlot[Table[i+1000 KroneckerDelta[i-5]+100KroneckerDelta[i-10],{i,40}]]

Show the whole dataset:

ListLogLogPlot[Table[i+1000 KroneckerDelta[i-5]+100KroneckerDelta[i-10],{i,40}],PlotRange->All]

OpenersExampleSubsection28(Spacer1)PlotStyle  (7)

Use different style directives:

Table[ListLogLogPlot[Table[Binomial[10,k],{k,0,10}],PlotStyle->ps],{ps,{Red,PointSize[Large],Darker[Green],Directive[Red,PointSize[Large]]}}]

By default, different styles are chosen for multiple datasets:

ListLogLogPlot[Table[Binomial[n,k],{n,{5,10,15}},{k,0,15}]]

Explicitly specify the style for different datasets:

ListLogLogPlot[Table[Binomial[n,k],{n,{5,10,15}},{k,0,15}],PlotStyle->{Red,Green,Blue}]

(RefLink[PlotStyle, paclet:ref/PlotStyle]) applies to both lines and points:

ListLogLogPlot[{{1,2,3,4,5},{4,2,7,2,4}},Joined->{True,False},PlotStyle->Red]

ListLogLogPlot[{{1,2,3,4,5},{4,2,7,2,4}},Joined->{True,False},PlotStyle->{Thick,PointSize[Large]}]

(RefLink[PlotStyle, paclet:ref/PlotStyle]) can be combined with (RefLink[ColorFunction, paclet:ref/ColorFunction]) and has lower priority:

ListLogLogPlot[Table[Gamma[x],{x,0,5,0.1}],Joined->True,PlotStyle->Thick,ColorFunction->Function[{x,y},Hue[y]]]

(RefLink[PlotStyle, paclet:ref/PlotStyle]) can be combined with (RefLink[MeshShading, paclet:ref/MeshShading]) and has lower priority:

ListLogLogPlot[Table[Gamma[x],{x,0,5,0.1}],Joined->True,PlotStyle->Directive[Opacity[0.5],Thick],Mesh->10,MeshFunctions->{#1&},MeshShading->{Red,Blue}]

(RefLink[MeshStyle, paclet:ref/MeshStyle]) by default uses the same style as (RefLink[PlotStyle, paclet:ref/PlotStyle]):

ListLogLogPlot[Table[Gamma[x],{x,0,5,0.1}],PlotStyle->Red,Mesh->All,Joined->True]

OpenersExampleSubsection29(Spacer1)PlotTheme  (1)

Use a theme with simple ticks and plot markers in a bright color scheme:

ListLogLogPlot[{Prime[Range[10]],Exp[Range[10]]},PlotTheme->"Business"]

Change the plot markers:

ListLogLogPlot[{Prime[Range[10]],Exp[Range[10]]},PlotTheme->"Business",PlotMarkers->{"A","B"}]

OpenersExampleSection3(Spacer1)Applications  (1)

Plot the mass and radius of exoplanets including uncertainty:

rmdata=EntityValue[LinguisticAssistant,{EntityProperty["Exoplanet", "Mass",{"Uncertainty"->"Around"}],EntityProperty["Exoplanet", "Radius",{"Uncertainty"->"Around"}]}];

ListLogLogPlot[DeleteMissing[rmdata,1,2],Frame->True,FrameLabel->{"mass (kg)","radius (m)"},PlotStyle->Red,IntervalMarkersStyle->LightGray]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[LogLogPlot, paclet:ref/LogLogPlot])  ▪  (RefLink[ListPlot, paclet:ref/ListPlot])  ▪  (RefLink[ListLogLinearPlot, paclet:ref/ListLogLinearPlot])  ▪  (RefLink[ListLogPlot, paclet:ref/ListLogPlot])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Some Special Plots, paclet:tutorial/SomeSpecialPlots])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Data Visualization, paclet:guide/DataVisualization])}})}})