# 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? – MarcoB Nov 22 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 – John Wick Nov 23 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. – MarcoB Nov 23 at 3:33
• @MarcoB now I have added a screenshot of my notebook – John Wick Nov 23 at 4:26
• Your code is difference from the picture . Please post your new code . – cvgmt Nov 23 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} – John Wick Nov 24 at 6:56
• @JohnWick: I leave the change of the ticks on your own. – user64494 Nov 24 at 7:02
• I have tried this approach for my desired plot range but the region seems misplaced – John Wick Nov 24 at 7:04
• @JohnWick: What is your "desired plot range"? – user64494 Nov 24 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) – John Wick Nov 24 at 7:08