Skip to main content
Commonmark migration
Source Link

[![][1]][1]

[![][2]][2]

[![][3]][3]

[![][4]][4]

[![][5]][5]

Even the scales don't match up somehow. [1]: https://i.sstatic.net/YYOdr.png [2]: https://i.sstatic.net/jF1Ax.png [3]: https://i.sstatic.net/zTbFE.png [4]: https://i.sstatic.net/hcUhS.png [5]: https://i.sstatic.net/vTrKQ.png

[![][1]][1]

[![][2]][2]

[![][3]][3]

[![][4]][4]

[![][5]][5]

Even the scales don't match up somehow. [1]: https://i.sstatic.net/YYOdr.png [2]: https://i.sstatic.net/jF1Ax.png [3]: https://i.sstatic.net/zTbFE.png [4]: https://i.sstatic.net/hcUhS.png [5]: https://i.sstatic.net/vTrKQ.png

Even the scales don't match up somehow.

Updated plots using suggestion in comments
Source Link

[![][1]][1]

[![][2]][2]

[![][3]][3]

 data = List[{10^-4, 10^-3, Abs[-0.5*Log[10^-4/10^-3]]}]; Do[ Do[ test = Abs[-0.5*Log[i/j]]; data = Join[data, List[{i, j, test}]], {i, 10^-4, 10^-2, 10^-3}], {j, 10^-3, 6, 10^-1}]; 

Update:

@kglr it doesn't work. With the sample data, what I would require is the line between the two regions in

[![][4]][4]

What I get using

if=Interpolation[DeleteDuplicates@data, InterpolationOrder->0]; Quiet@ContourPlot[if[x,y],{x,0,1},{y,0,6},ScalingFunctions->{"Log","Log","Log"}, Contours->{{Log[3]}}, ContourStyle->Directive[Thick, Black],ContourShading->None] 

is

[![][5]][5]

Even the scales don't match up somehow. [1]: https://i.sstatic.net/YYOdr.png [2]: https://i.sstatic.net/jF1Ax.png [3]: https://i.sstatic.net/zTbFE.png [4]: https://i.sstatic.net/hcUhS.png [5]: https://i.sstatic.net/vTrKQ.png

 data = List[{10^-4, 10^-3, Abs[-0.5*Log[10^-4/10^-3]]}]; Do[ Do[ test = Abs[-0.5*Log[i/j]]; data = Join[data, List[{i, j, test}]], {i, 10^-4, 10^-2, 10^-3}], {j, 10^-3, 6, 10^-1}]; 

[![][1]][1]

[![][2]][2]

[![][3]][3]

 data = List[{10^-4, 10^-3, Abs[-0.5*Log[10^-4/10^-3]]}]; Do[ Do[ test = Abs[-0.5*Log[i/j]]; data = Join[data, List[{i, j, test}]], {i, 10^-4, 10^-2, 10^-3}], {j, 10^-3, 6, 10^-1}]; 

Update:

@kglr it doesn't work. With the sample data, what I would require is the line between the two regions in

[![][4]][4]

What I get using

if=Interpolation[DeleteDuplicates@data, InterpolationOrder->0]; Quiet@ContourPlot[if[x,y],{x,0,1},{y,0,6},ScalingFunctions->{"Log","Log","Log"}, Contours->{{Log[3]}}, ContourStyle->Directive[Thick, Black],ContourShading->None] 

is

[![][5]][5]

Even the scales don't match up somehow. [1]: https://i.sstatic.net/YYOdr.png [2]: https://i.sstatic.net/jF1Ax.png [3]: https://i.sstatic.net/zTbFE.png [4]: https://i.sstatic.net/hcUhS.png [5]: https://i.sstatic.net/vTrKQ.png

Added a sample data generation routine
Source Link

I have a dataset and would not want Mathematica to interpolate at all while plotting the contours. This is because the data contains essential binning information and the "steps" in the contour must convey that sense. Interpolating on the data to "smoothen" the contours would make the plot lose its physical validity altogether. Apparently, ListContourPlot doesn't show the contour lines at all when InterpolationOrder is set to 0.

ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, InterpolationOrder -> 0, Contours -> {Log[3]}, ContourShading -> {None, GrayLevel[0.5, 0.36]}, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

With just the InterpolationOrder commented out the contour lines do appear.

 ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, (*InterpolationOrder -> 0,*) Contours -> {Log[3]}, ContourShading -> {None, GrayLevel[0.5, 0.36]}, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

What I want is that neither of the regions be shaded but the contour line appear. Which I believed I should get with the code,

ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, InterpolationOrder -> 0, Contours -> {Log[3]}, ContourShading -> None, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

But this gives me just nothing. A blank plot.

A sample dataset may be obtained using,

 data = List[{10^-4, 10^-3, Abs[-0.5*Log[10^-4/10^-3]]}]; Do[ Do[ test = Abs[-0.5*Log[i/j]]; data = Join[data, List[{i, j, test}]], {i, 10^-4, 10^-2, 10^-3}], {j, 10^-3, 6, 10^-1}]; 

I have a dataset and would not want Mathematica to interpolate at all while plotting the contours. This is because the data contains essential binning information and the "steps" in the contour must convey that sense. Interpolating on the data to "smoothen" the contours would make the plot lose its physical validity altogether. Apparently, ListContourPlot doesn't show the contour lines at all when InterpolationOrder is set to 0.

ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, InterpolationOrder -> 0, Contours -> {Log[3]}, ContourShading -> {None, GrayLevel[0.5, 0.36]}, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

With just the InterpolationOrder commented out the contour lines do appear.

 ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, (*InterpolationOrder -> 0,*) Contours -> {Log[3]}, ContourShading -> {None, GrayLevel[0.5, 0.36]}, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

What I want is that neither of the regions be shaded but the contour line appear. Which I believed I should get with the code,

ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, InterpolationOrder -> 0, Contours -> {Log[3]}, ContourShading -> None, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

But this gives me just nothing. A blank plot.

I have a dataset and would not want Mathematica to interpolate at all while plotting the contours. This is because the data contains essential binning information and the "steps" in the contour must convey that sense. Interpolating on the data to "smoothen" the contours would make the plot lose its physical validity altogether. Apparently, ListContourPlot doesn't show the contour lines at all when InterpolationOrder is set to 0.

ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, InterpolationOrder -> 0, Contours -> {Log[3]}, ContourShading -> {None, GrayLevel[0.5, 0.36]}, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

With just the InterpolationOrder commented out the contour lines do appear.

 ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, (*InterpolationOrder -> 0,*) Contours -> {Log[3]}, ContourShading -> {None, GrayLevel[0.5, 0.36]}, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

What I want is that neither of the regions be shaded but the contour line appear. Which I believed I should get with the code,

ListContourPlot[data, ScalingFunctions -> {"Log", "Log", "Log"}, InterpolationOrder -> 0, Contours -> {Log[3]}, ContourShading -> None, GridLines -> {{0.001, 0.01, 0.1, 1}, {5*10^-4, 10^-3, 2*10^-3, 5*10^-3}}, ContourStyle -> {Thick, Black}] 

But this gives me just nothing. A blank plot.

A sample dataset may be obtained using,

 data = List[{10^-4, 10^-3, Abs[-0.5*Log[10^-4/10^-3]]}]; Do[ Do[ test = Abs[-0.5*Log[i/j]]; data = Join[data, List[{i, j, test}]], {i, 10^-4, 10^-2, 10^-3}], {j, 10^-3, 6, 10^-1}]; 
added 9 characters in body
Source Link
rhermans
  • 37.7k
  • 4
  • 64
  • 156
Loading
Source Link
Loading