# Draw an exclusion plot using a set of inequalities(make a loglogregionplot)

logLogRegionPlot[rplot_] :=
Module[{pts, pgon},
pts = Cases[Normal@rplot, Line[a__] :> a, Infinity];
pgon = {EdgeForm[],
Directive[RGBColor[0.368417, 0.506779, 0.709798],
AbsoluteThickness[1.6], Opacity[0.3]],
Cases[Normal@rplot, Polygon[_], Infinity]};
ListLogLogPlot[
pts,
Joined -> True, Frame -> True,
PlotRange -> All, AspectRatio -> 1,
Axes -> False, PlotStyle -> ColorData[1][1],
Epilog -> (pgon /. {x_, y_?NumericQ} :> Log@{x, y})
]
]

logLogRegionPlot@
RegionPlot[
{y > 8*(10^-10) (x)^(1/2)*HeavisideTheta[(x)^(-1) - (y)] &&
x > 6*(10^4) && x < 6*(10^10) &&
y < (8*(10^-10))^-1 x^(-5/2)*HeavisideTheta[-(x)^(-1) + (y)] &&
y > 0.6*x^(-3/2)},
{x, 10^2, 10^6}, {y, 10^-6, 10^-2},
PlotPoints -> 100
]


How can I produce a log region plot satisfying those inequalities?

I have tried to produce it with the above code. An exclusion region is coming, but I need a large plot range (xaxis€[10^2,10^14], yaxis€[10^-16,10^0]) for which it is giving a wrong plot.

• Have you noticed that your RegionPlot expression returns an empty plot? The problem does not seem to be in logLogRegionPlot, at least not yet. First you will need to make RegionPlot work. I don't understand what region you are trying to plot. Can you describe it mathematically or in words perhaps? Commented Nov 22, 2020 at 23:47
• If you reduce the plot range(say, x->(10^2,10^4),y->(10^-14,10^-9)) in the above code then it will give a plot but it is giving an empty plot for this large plot range what I needed Commented Nov 23, 2020 at 2:34
• I tried, but I still cannot get a plot, even with the ranges you mentioned. I am on MMA 12.0.0 on Win10-64. Could you try to run just the RegionPlot code you posted on a clean kernel, just to make sure that you can reproduce it? I can't get it to work. Commented Nov 23, 2020 at 3:33
• @MarcoB now I have added a screenshot of my notebook Commented Nov 23, 2020 at 4:26
• Your code is difference from the picture . Please post your new code . Commented Nov 23, 2020 at 5:02

The change of the variables does the job.

RegionPlot[({y > 8*(10^-10) (x)^(1/2)*HeavisideTheta[(x)^(-1) - (y)] &&
x > 6*(10^4) && x < 6*(10^10) &&
y < (8*(10^-10))^-1 x^(-5/2)*HeavisideTheta[-(x)^(-1) + (y)] &&
y > 0.6*x^(-3/2)}) /. {x -> Exp[s], y -> Exp[t]}, {s, Log[10^2], Log[10^6]}, {t, Log[10^-6], Log[10^-2]}, PlotPoints -> 50]


• I think this approach is somehow wrong, since actually the region should be placed near x€{10^3,10^6} Commented Nov 24, 2020 at 6:56
• @JohnWick: I leave the change of the ticks on your own. Commented Nov 24, 2020 at 7:02
• I have tried this approach for my desired plot range but the region seems misplaced Commented Nov 24, 2020 at 7:04
• @JohnWick: What is your "desired plot range"? Commented Nov 24, 2020 at 7:06
• The plot screen shot is attached in the question, I just asking to adjust my plot range x(10^2,10^14),y(10^-15,10^0) Commented Nov 24, 2020 at 7:08