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$
1

3 Answers 3

8
$\begingroup$

How about this?

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

enter image description here

$\endgroup$
1
  • $\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, 2019 at 0:21
3
$\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$
2
  • $\begingroup$ Yes, Thanks. This a very awesome and elegant solution! $\endgroup$
    – irondonio
    Mar 16, 2019 at 16:04
  • $\begingroup$ @irondonio, if this answers your question please consider accepting it. $\endgroup$
    – kglr
    Jul 8, 2019 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 and acknowledge that you have read and understand our privacy policy and code of conduct.

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