I have 3 graphics in different coordinate systems and I want to join them in as in the following figure.
This is just a sample figure, not the real one.
My functions are as follows.
y[t_]=Sin[Pi t]/(Pi t);
ar={1.415,2.495,3.526,4.462,5.421,6.477} (* Aproximate roots of y'[t] *);
rr=Join[{0},Table[t/.FindRoot[D[y[t],t]==0,{t,ar[[k]]}],{k,1,Length[ar]}],{7}] (* Real roots y'[t] *);
θ[t_]=Piecewise[Table[{ArcTan[y[t]/(t^2 y'[t])]+k Pi,rr[[k]]<=t<rr[[k+1]]},{k,1,Length[rr]-1}]] (* Phase function *);
ρ[t_]=Sqrt[(y[t])^2 + (t^2 y'[t])^2] (* Amplitude function*) ;
The first graphic is generated by
p1=Plot[θ[t],{t,0,5},Ticks->{None,Table[{k π,k "π"}, {k,0,4}]},AxesLabel->{"t","θ"},AxesStyle->Directive[14],AxesOrigin->{0,0},PlotRange->Full]
the second graphic is generated by
p2=Plot[y[t],{t,0,5},Ticks->{Table[{k,""},{k,1,5}],{1}},AxesLabel->{"t","y"},AxesStyle->Directive[14],AxesOrigin->{0,0},PlotRange->Full]
the third and last one is generated by
p3=PolarPlot[ρ[t],{t,0,5},Ticks->None,AxesLabel->{"θ","ρ"},AxesStyle->Directive[14],AxesOrigin->{0,0}]
Properties of the graphic is as follows.
1. Origins of p1 and p2 must be on the same vertical line, and the origins of p2 and p3 must be on the same horizontal line (as shown on the sample figure).
2. The horizontal lines passing at the points $\pi$, $2\pi$, $3\pi$, $4\pi$ located on the $\theta$-axis of p1 and the vertical lines passing at the zeros of the curve (which are explicitly $1,2,\cdots$ since $y(t)=\sin(\pi t)/(\pi t)=0$ at such points) in p2 must intersect on the curve in p1 (see the sample figure).
3.The list of extreme points of the curve in p2 are listed in rr, i.e., if $t$ is in rr then $y'(t)=0$ and thus $\rho(t)=|y(t)|$. For such points the distance from $t$-axis to the function $y$ in p2 is equal to the length from the Origin to the corresponding peak point of the curve in p3. This requires scaling of p3 so that the lengths are equal.
It would be very good to have them just in the right position, I guess I can draw the lines myself...
Many thanks.
bkarpuz
Edit. After reading Yves Klett's comment decided to show what I have tried. I did everything manually as I don't really understand the command Inset very well.
p1 = Plot[θ[t], {t, 0.7, 4.2}, Ticks -> {None, None},
AxesLabel -> {"\!\(\*
StyleBox[\"t\",\nFontSlant->Italic]\)", "\!\(\*TagBox[
StyleBox[\"θ\",\nFontSize->14,\nFontSlant->Italic],
(StyleForm[#, 14, Italic]& )]\)"}, AxesStyle -> Directive[14],
AxesOrigin -> {0, 0}, PlotRange -> {{0, 4.5}, {0, 14}},
AspectRatio -> 1];
p2 = Show[
Plot[y[t], {t, 0.7, 4.2}, Ticks -> {Table[{k, ""}, {k, 1, 5}], {}},
AxesLabel -> {"\!\(\*
StyleBox[\"t\",\nFontSlant->Italic]\)", "\!\(\*TagBox[
StyleBox[\"y\",\nFontSize->14,\nFontSlant->Italic],
(StyleForm[#, 14, Italic]& )]\)"}, AxesStyle -> Directive[14],
AxesOrigin -> {0, 0}, PlotRange -> {{0, 4.5}, {-2, 2}},
AspectRatio -> 1],
ListPlot[Table[{rr[[k]], y[rr[[k]]]}, {k, 2, 4}], Filling -> Axis,
PlotStyle -> PointSize[Small]]];
pl = Table[{rr[[k]], ρ[rr[[k]]]}, {k, 2, 4}];
p3 = Show[
PolarPlot[ρ[t], {t, 0.7, 4.2}, Ticks -> None,
AxesLabel -> {"θ", "ρ"}, AxesStyle -> Directive[14],
PlotStyle -> PointSize[Tiny], AspectRatio -> 1],
Table[ListPolarPlot[{{0, 0}, pl[[k]]}, Joined -> True,
PlotStyle -> {PointSize[Tiny],
Directive[Hue[0.67, 0.6, 0.6], Opacity[0.2]]}], {k, 1,
Length[pl]}], ListPolarPlot[pl]];
The figures are drawn above
Show[Graphics[{Inset[p2, {0, -0.35}, Right, 0.8],
Inset[p1, {0, 0.55}, Right, 0.8],
Inset[p3, {0.24, -0.415}, Left, 0.6]}, PlotRange -> 1],
Graphics[{Dotted, Line[{{-0.6215, -0.41}, {-0.6215, 0.3152}}],
Line[{{-0.4634, -0.41}, {-0.4634, 0.4762}}],
Line[{{-0.30515, -0.41}, {-0.30515, 0.6326}}]}],
Graphics[{Dotted, Line[{{-0.7778, 0.3152}, {-0.6215, 0.3152}}],
Line[{{-0.7778, 0.4762}, {-0.4634, 0.4762}}],
Line[{{-0.7778, 0.6326}, {-0.30515, 0.6326}}]}],
Graphics[{Point[{-0.6215, 0.3152}], Point[{-0.4634, 0.4762}],
Point[{-0.30515, 0.6326}]}],
Graphics[{Text[StyleForm["π", 14], {-0.8, 0.3152}, {1, 0}],
Text[StyleForm["2π", 14], {-0.8, 0.4762}, {1, 0}],
Text[StyleForm["3π", 14], {-0.8, 0.6326}, {1, 0}],}]]
I obtained all the points in the last part from the plain figure by Get Coordinates and drew the lines. On the other hand, to fit the Origins of p1 and p2, I drew them with Ticks->None and then put the Ticks manually on the figure obtained by Inset. However, the figure still seems to be inconvenient with p3 as it does not satisfy Property 3 (scaling) mentioned above.
Sin(Pi t)
withSin[Pi t]
. Updated the code in the original post. $\endgroup$