How to wrap a plot around a circle?
Update
ticks[x1_, x2_] := {#/10 + π/2, #} & /@
FindDivisions[{10 (x1 - π), 10 (x2 - π)}, 20]
funcs = Table[3 + BesselJ[i, 10 (x -π/2)], {i, 0, 3}];
PolarPlot[funcs // Evaluate, {x, -π/2, 3π/2},
PolarAxes -> Automatic,
PolarTicks -> {ticks[0, 2 π][[2 ;; -2]], Automatic}
] (*thanks @kguler 's and @rm-rf 's advice*)
Manipulate version
Manipulate[
funcs = Table[a BesselJ[i, 10 (x -π/2)] + b, {i, 0, n}];
PolarPlot[funcs // Evaluate, {x, -π/2, 3π/2},
Axes -> False] , {{n, 4}, 1, 10}, {{a, 1}, 0, 3}, {{b, 3}, 1, 5},
ControlType -> {Automatic, VerticalSlider, VerticalSlider},
ControlPlacement -> { Top, Left, Left}]
Original
funcs = Table[3 + BesselJ[i, 10 x], {i, 0, 3}]
PolarPlot[Evaluate@funcs, {x, 0, 2 π}] (* thanks @kguler's advice *)
Composition[
{#, Scale[#, {-1, 1}, {0, 0}]} &,
Rotate[#, Pi/2, {0, 0}] &,
First
] /@ Table[
With[{root = FindRoot[D[BesselJ[i, x], x], {x, 100}][[1, 2]]},
PolarPlot[{1 + BesselJ[i, t root/Pi]}, {t, 0, Pi},
PlotStyle -> {Thick, Blend["AvocadoColors", i/15]}]
]
, {i, 0, 15}] //
Graphics[#, ImageSize -> 500, Background -> Orange] &