`तालिका` में भूखंडों के लिए` प्लॉटलैबेल`

Sep 08 2020

मेरे पास Tableदो प्लॉट हैं, जिनके द्वारा दिया गया है

Table[
 Plot[{Re[f[n]] /. j -> 3, Im[f[n]] /. j -> 3}, {n, 0, 15}, 
  GridLines -> Automatic, PlotRange -> All, PlotLegends -> {"Real", "Imaginary"}, 
  PlotLabel -> f[n]], 
{f, {Sum[Sinc[Pi*(#1 - i*j)], {i, 1, Floor[#1]}] & , 
   (-1 + E^(2*I*Pi*#1))/(j*(-1 + E^((2*I*Pi*#1)/j))) & }}
]

जैसा कि आप देख सकते हैं, गणितज्ञ ने पहली PlotLabel(यानी, Sum[Sinc[Pi*(#1 - i*j)], {i, 1, Floor[#1]}] &) को एक अभिव्यक्ति में फिर से लिखा है जो इसे अधिक उपयोगी या प्राकृतिक मानता है। मैं ऐसा नहीं करना चाहता। मैं चाहता हूँ PlotLabelकि इस तरह की साजिश के लिए:

यानी, जैसा कि यह लिखा गया था PlotLabel -> "expr"। लेकिन दूसरा लेबल पहले से ही है कि मैं इसे कैसे चाहता हूं।

मैंने प्रयोग करने के साथ प्रयोग किया है StringFormलेकिन यह मदद नहीं करता है। मैं यह कैसे करु? या यह संभव नहीं है?

जवाब

6 kglr Sep 08 2020 at 19:04
Table[Plot[{Re[ReleaseHold@f] /. j -> 3,  Im[ReleaseHold@f] /. j -> 3}, {n, 0, 15}, 
  GridLines -> Automatic, 
  PlotRange -> All, ImageSize -> 350, 
  PlotLegends -> {"Real", "Imaginary"}, 
  PlotLabel ->  f], 
{f, {HoldForm@Sum[Sinc[Pi*(n - i*j)], {i, 1, Floor[n]}], 
   HoldForm[(-1 + E^(2*I*Pi*n))/(j*(-1 + E^((2*I*Pi*n)/j)))]}}]

आप बदल सकते हैं HoldFormऔर ReleaseHoldसाथ Deferऔर Firstक्रमश: एक ही परिणाम प्राप्त करने के लिए।

जैसा कि बॉब हैनलोन ने टिप्पणियों में सुझाव दिया था, संस्करण 12.0+ में आप ReImPlotनिम्नानुसार उपयोग कर सकते हैं :

 Table[ReImPlot[ReleaseHold[f] /. j -> 3, {n, 0, 15}, 
    GridLines -> Automatic, PlotRange -> All, ImageSize -> 350, 
    PlotLegends -> "ReIm", 
    ReImLabels -> {"Real", "Imaginary"}, 
    ReImStyle -> {ColorData[97][1], {ColorData[97][2], Dashing[{}]}},
    PlotLabel -> f], 
  {f, {HoldForm@Sum[Sinc[Pi*(n - i*j)], {i, 1, Floor[n]}], 
      HoldForm[(-1 + E^(2*I*Pi*n))/(j*(-1 + E^((2*I*Pi*n)/j)))]}}]