Mathematica - 图上的力对数标度&分组轴标签

时间:2011-08-17 22:24:11

标签: wolfram-mathematica scale linear axes

我有一个ListPointPlot3D图,所有三个轴都包含数据点的对数分布。

像这样:

..... .  .    .        .                .                                .

如何强制Mathematica使轴的刻度成对数,以便我得到数据点的线性分布?

由于

2 个答案:

答案 0 :(得分:7)

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
]

enter image description here

Ticks有更多可能来美化你的规模。我相信你会找到通往location in the manual的路。

答案 1 :(得分:0)

如果您愿意以BubbleChart3D(具有恒定的气泡大小,我猜)重新绘制您的绘图,您可以使用ScalingFunctionsdocumentation)选项将轴重新缩放到日志表格。它还可用于以对数刻度以外的方式缩放轴。由于您使用的是ListPointPlot3D,因此您可能还需要重新排列输入数据。

这是Mathematica中“绘图”和“绘图”之间令人讨厌的区别之一。据我所知,ScalingFunction选项仅适用于“图表”(财务,条形图和气泡图),而不适用于ListPlotListPlot3D等字符。