0
$\begingroup$

It is possible to joint different kind of plot using a Table, The idea is to have a single plot. I have been trying using Show function y. But I can not get it. So It is possible also to add independently captions for each figure.

Here it is the code

L = 15; pp = 100; uv1 = {y -> 0 , k -> 1}; uv2 = { k -> 0.5} ;

Bb[x_, y_, n_] = BesselJ[n, k Sqrt[x^2 + y^2]]; 

graf1 =Table[ Plot[Bb[x, y, n] /. uv1, {x, -L, L}, PlotRange -> Full, PlotLabel -> {tit, tit1, tit2 }], {n, 0, 2}];

graf2 = Table[Plot3D[Bb[x, y, n] /. uv2 , {x, -L, L}, {y, -L, L}, AxesLabel -> {x, y, "Bessel"}, ColorFunction -> "Rainbow",PlotRange -> Full, ViewPoint -> {1.5, -2, 1.3}], {n, 0, 2}]; 

graf3 = Table[DensityPlot[Bb[x, y, n] /. uv2, {x, -L, L}, {y, -L, L}, ColorFunction -> "Rainbow", PlotRange -> Full, PlotPoints -> pp,    PerformanceGoal -> "Quality"], {n, 0, 2}];

I try using

Show[{graf1,graf2,graf3}]
$\endgroup$
8
$\begingroup$

How about this?

GraphicsGrid[{graf1, graf2, graf3}, ImageSize -> Large]

enter image description here

$\endgroup$
  • $\begingroup$ Thank!. Yes, it works perfectly to put all the pictures together, but I still do not know how to show the title for each figure. Any comment will be helpful $\endgroup$ – irondonio Mar 14 at 0:21
2
$\begingroup$

Like this?

titles1 = {"title1-1", "title1-2", "title1-3"};
titles2 = {"title2-1", "title2-2", "title2-3"};
titles3 = {"title3-1", "title3-2", "title3-3"};
graf1 = Table[Plot[Bb[x, y, n] /. uv1, {x, -L, L}, PlotRange -> Full, 
    PlotLabel -> titles1[[n + 1]]], {n, 0, 2}];
graf2 = Table[Plot3D[Bb[x, y, n] /. uv2, {x, -L, L}, {y, -L, L}, 
    AxesLabel -> {x, y, "Bessel"}, ColorFunction -> "Rainbow", 
    PlotRange -> Full, ViewPoint -> {1.5, -2, 1.3}, 
    PlotLabel -> titles2[[n + 1]]], {n, 0, 2}];
graf3 = Table[DensityPlot[Bb[x, y, n] /. uv2, {x, -L, L}, {y, -L, L}, 
    ColorFunction -> "Rainbow", PlotRange -> Full, PlotPoints -> pp, 
    PerformanceGoal -> "Quality", PlotLabel -> titles3[[n + 1]]], {n, 0, 2}];

enter image description here

$\endgroup$
  • $\begingroup$ Yes, Thanks. This a very awesome and elegant solution! $\endgroup$ – irondonio Mar 16 at 16:04
  • $\begingroup$ @irondonio, if this answers your question please consider accepting it. $\endgroup$ – kglr Jul 8 at 6:55
0
$\begingroup$

I try as a possible solution

ouplot = TableForm[{graf1, graf2, graf3}, TableHeadings -> {TextCell[StringJoin[{"Plot ", ToString@#}], FontSize -> 12] & /@ { cut, 3 D, 2 D} , 
TextCell[StringJoin[{"m = ", ToString@#}], FontSize -> 12] & /@ 
 Range[0, 3]}, TableAlignments -> Center, TableSpacing -> {1, 1}]

However, I would like to add more details to show the function detail also a title, a legend this should improve the figure more.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.