# Problem with AspectRatio in ListPlot

data = {{-1.77815, -4.92143}, {-1.47712, -4.44227}, {-1.30103, -4.17258},
{-1.17609, -3.97794}, {-1.07918, -3.84542}};

ListPlot[data, AspectRatio -> 1, Frame -> True]


Why is the AspectRatio for horizontal and vertical axis not equal?

• thank you ... is a similar command available, so the the axes have 1:1 scaling, without specifying the plot range?
– mrz
Commented Mar 31, 2016 at 11:41
• AspectRatio -> Full Commented Mar 31, 2016 at 11:46
• it seems that only AspectRatio -> Automatic yields the 1:1 axes scaling, as Thomas answered.
– mrz
Commented Mar 31, 2016 at 11:50
• To verify thatAspectRatio -> Automatic gives the intended ratio: (AspectRatio /. (ListPlot[data, Frame -> True, AspectRatio -> Automatic] // AbsoluteOptions[#, AspectRatio] & // Quiet)) == Subtract @@ MinMax[data[[All, 2]]]/Subtract @@ MinMax[data[[All, 1]]] evaluates to True Commented Jun 1, 2016 at 13:42

Try the following:

ListPlot[data, AspectRatio -> Automatic, Frame -> True]


• Thank you ... it looks as I wanted ... in the documentation it is written: AspectRatio -> Automatic determines the ratio of height to width from the actual coordinate values in the plot. I would like to know what exactly is meant by that ...
– mrz
Commented Mar 31, 2016 at 11:59
• I guess it means exactly what you want to achieve - that the aspect ratio of the plot corresponds to the aspect ratio of the actual coordinates. In other words, x- and y-coordinates are plotted at the same scale Commented Mar 31, 2016 at 12:03

The solution from Thomas works also when when PlotRange is used:

ListPlot[data, AspectRatio -> Automatic, Frame -> True, PlotRange -> {{-3, 1}, {-6, 1}}]


• Somebody's system isn't working correctly. For me this shows your original plot with a square area, which is what AspectRatio->1 should mean. Commented Jun 1, 2016 at 13:08
• @N.J.Evans: sorry mistake: AspectRatio -> Automatic should be there ...
– mrz
Commented Jun 30, 2016 at 12:19