Basado en Sjoerd, gran solución y la extensión de From Cartesian Plot to Polar Histogram using Mathematica, por favor considere lo siguiente:Arctan Agrupación, desde Plot para histograma, los trucos
list = {{21, 16}, {16, 14}, {11, 11}, {11, 12},
{13, 15}, {18, 17}, {19, 11}, {17, 16}, {16, 19}}
ScreenCenter = {20, 15}
ListPolarPlot[{ArcTan[##], EuclideanDistance[##]} & @@@ (# - ScreenCenter & /@ list),
PolarAxes -> True, PolarGridLines -> Automatic, Joined -> False,
PolarTicks -> {"Degrees", Automatic},
BaseStyle -> {FontFamily -> "Arial", FontWeight -> Bold,
FontSize -> 12}, PlotStyle -> {Red, PointSize -> 0.02}]
Module[{Countz, maxScale, angleDivisions, dAng},
Countz = Reverse[BinCounts[[email protected][ArcTan[#[[1]] - ScreenCenter[[1]], #[[2]] -
ScreenCenter[[2]]] &, list, {1}], {-\[Pi], \[Pi], \[Pi]/6}]];
maxScale = 4;
angleDivisions = 12;
dAng = (2 \[Pi])/angleDivisions;
SectorChart[{ConstantArray[1, Length[Countz]], Countz}\[Transpose],
SectorOrigin -> {-\[Pi]/angleDivisions, "Counterclockwise"},
PolarAxes -> True,
PolarGridLines -> Automatic,
PolarTicks -> {Table[{i \[Degree] + \[Pi]/angleDivisions,i \[Degree]},
{i, 0, 345, 30}], Automatic},
ChartStyle -> {Directive[EdgeForm[{Black, Thickness[0.005]}], Red]},
BaseStyle -> {FontFamily -> "Arial", FontWeight -> Bold,
FontSize -> 12}, ImageSize -> 400]]
Como puede ver, el histograma muestra una simetría rotacional de lo que debería. Intenté todo para aclarar las cosas pero no tuve éxito. Sin inversión es peor. Intenté con RotateRight sin éxito. Siento que el problema está en mi BinCount. Salida de ArcTan de -Pi a Pi, mientras que Sjoerd sugirió que necesitaba pasar de 0 a 2Pi. Pero no entiendo cómo hacerlo.
EDITAR: Problema resuelto. Gracias a las soluciones Heike de Sjoerd, Belisarius, puedo mostrar un histograma de las ubicaciones de las fijaciones de los ojos dadas el centro de gravedad de una imagen.
@beliarius: Al usar 'ArcTan' en la forma' ArcTan [x, y] 'el rango es' (-Pi, Pi) ' – Heike
@belisarius, lo siento, estoy tan fuera de lugar ahora :-(¡Gracias por su ayuda! – 500
@ 500 Preste atención a la solución de Heike como parece coincidir mejor con las posiciones –