我有一个ListPointPlot3D图,所有三个轴都包含数据点的对数分布。
如下所示:
..... . . . . . .我如何强制Mathematica使轴的比例对数,这样我就可以得到数据点的线性分布?
谢谢
发布于 2011-08-18 06:42:47
AFAIK没有LogLogLogPlot,所以下一个最好的办法就是把你的数据记录下来,然后画出来。然后你必须想出你自己的Ticks。
一个粗略的版本:
tks = {1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000};
list = 10^RandomReal[{0, 4}, {100, 3}]
ListPointPlot3D[Log[10, list]},
Ticks ->
{
{Log[10, tks], tks}\[Transpose],
{Log[10, tks], tks}\[Transpose],
{Log[10, tks], tks}\[Transpose]
},
BoxRatios -> 1, PlotStyle -> PointSize -> 0.02
]

Ticks有更多的可能性来美化你的规模。我相信你会找到它的location in the manual的。
发布于 2011-08-18 11:25:35
如果您希望将绘图重做为对数(我猜是具有恒定的气泡大小),则可以使用ScalingFunctions (documentation)选项将轴重新缩放为对数形式。它还可以用来以对数缩放以外的方式缩放轴。由于您使用的是ListPointPlot3D,因此可能还需要重新排列输入数据。
这是Mathematica中“图表”和“绘图”之间令人讨厌的区别之一。据我所知,ScalingFunction选项仅适用于“图表”(金融图表、条形图和气泡图),而不适用于ListPlot或ListPlot3D等图表。
https://stackoverflow.com/questions/7100266
复制相似问题