My current code is:
data = {{0.1, 0.1, 2}, {0.1, 0.2, 1}, {0.2, 0.1, 1}, {0.2, 0.2, 2}};
ListContourPlot[data, Mesh -> None, PlotRange -> All,
InterpolationOrder -> 3,
ColorFunction -> ColorData[{"LakeColors", "Reverse"}]]
It produces the following figure:
I want to scale the linear x and y axes to a log scale without converting to log units.
There is a ListLogLogPlot function but no corresponding ListLogLogContourPlot function.
I have read several relevant threads:
- How does one set a logarithmic scale in a ContourPlot?: How does one set a logarithmic scale in a ContourPlot?
- Scale ContourPlot axes: http://forums.wolfram.com/mathgroup/archive/2006/Jun/msg00585.html
However, they are all for ContourPlot rather than ListContourPlot.
I tried to use way suggested by How does one set a logarithmic scale in a ContourPlot?:
data = {{0.1, 0.1, 2}, {0.1, 0.2, 1}, {0.2, 0.1, 1}, {0.2, 0.2, 2}};
pl = Normal@
ListContourPlot[data, Mesh -> None, PlotRange -> All,
InterpolationOrder -> 3,
ColorFunction -> ColorData[{"LakeColors", "Reverse"}]]
ListLogLogPlot[Cases[pl, Line[a_, b___] :> a, Infinity],
Joined -> True, Frame -> True, PlotRange -> All, AspectRatio -> 1,
PlotStyle -> ColorData[1][2]]
However, it only produces the following, in which the density color background is lost, leaving only lines:
The way suggested by http://forums.wolfram.com/mathgroup/archive/2006/Jun/msg00585.html by using FrameTicks functions seems promising. But, it is for ContourPlot. I do not know how to adopt it to be used in ListContourPlot.
Helps are much appreciated.