如何在Mathematica中使两个轴上的单位间隔在视觉上具有相同的长度

Qia*_* Li 8 wolfram-mathematica

我想制作一个图,其中两个轴上的单位间隔在视觉上具有相同的长度.即我希望(1,1)和(0,0)制作一个正方形而不是一个细长的矩形.

我无法找到使下列简单案例成为可能的选项:

ListLinePlot[{{{0, 0}, {1, -1}, {2, -2}, {3, -1}, {4, -2}, {5, -3}, {6, -4}, {7, -3}, {8, -2}, {9, -1}}}]

谢谢您的帮助.

编辑

更一般地说,如何调整x轴上的单位间隔与y轴上的单位间隔的比率?AspectRatio选项似乎与它没有直接关联.

Bre*_*ion 11

你想要:AspectRatio -> Automatic.


请求的概括示例:

p = Plot[Sin[x], {x, 0, 10}];
range = First /@ Differences /@ (PlotRange /. Options[p]);
target = 1/2;(* 1 y == 2 x *)
Show[p, 
 AspectRatio -> (Last[range]/First[range]/target)]
Run Code Online (Sandbox Code Playgroud)

(Plot默认情况下会包含一个显式的绘图范围,所以我们可以使用Options,只要我们不设置类似的东西PlotRange->All.)

  • 奇怪的是,默认是`AspectRatio - > 1/GoldenRatio`而不是`Automatic` (2认同)
  • @belisarius`AspectRatio - > Automatic`应谨慎使用.考虑:`ListPlot [100 Range [5],AspectRatio - > Automatic]` (2认同)
  • @Brett我试图暗示的是"预期的"默认值是自动.并不是说自动值更好. (2认同)