# How to plot data with domain on a circle?

I've got a list of data of the form {{0,x0},...,{359,x359}}, which represents some experimental results given in polar coordinates with fixed radius. How to plot this data on a circle , i.e. it should be something like ListPlot but ends should be glued together.

• To reduce confusion, I recommend that you remove the underscores and write x0 and x359 or x and x instead. – JungHwan Min Jan 5 '16 at 16:15
• ListPolarPlot may be what you are looking for. – JungHwan Min Jan 5 '16 at 16:17

ListPolarPlot does what you want.

Just for fun, here is a simple alternative implementation using Graphics primitives, and drawing lines instead of just the points:

Options[circleListPlot] = {circleRadius -> .01, maxOutwardLength -> 0,
withLines -> True};
circleListPlot[data_, OptionsPattern[]] := Module[{scaledData},
If[OptionValue@maxOutwardLength == 0,
scaledData = data,
scaledData = {
#[],
OptionValue@circleRadius + (#[] - Min@data[[All, 2]])/(
Max@data[[All, 2]] - Min@data[[All, 2]])
OptionValue@maxOutwardLength
} & /@ data
];
Graphics[
{
Darker@Green, Thin,
Line[
Function[pointOnUnitaryCircle,
{
#[] pointOnUnitaryCircle
}
]@{Cos[#[] Degree], Sin[#[] Degree]}
] & /@ scaledData
},
Axes -> True
]
]


Which you can call like this:

data = MapIndexed[{First@#2, #1} &, RandomReal[{0, 1}, 360]];
circleListPlot[data, circleRadius -> 0.2, maxOutwardLength -> 2] Or, taking from the first example in the documentation of ListPolarPlot:

circleListPlot[Table[{n, Sqrt[n]}, {n, 360}], circleRadius -> 1] 