यहाँ बेलिसारियस के कोड के आधार पर (IMO) और अधिक सुरुचिपूर्ण विधि है जो DisplayFunction
विकल्प का उपयोग करता (इस विकल्प पर here दिलचस्प चर्चा को देखें):
Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]], {x, 0, 10},
Filling -> Axis,
DisplayFunction ->
Function[{plot},
Show[plot,
AxesOrigin ->
First /@ (PlotRange /. AbsoluteOptions[plot, PlotRange]),
DisplayFunction -> Identity]]]
दोनों विधियों का एकमात्र दोष यह है कि AbsoluteOptions
does not always give correct value of PlotRange
। समाधान the Ticks
hack (जो PlotRangePadding
की स्पष्ट मूल्यवर्धित के साथ पूरा PlotRange
देता है) का उपयोग करने के लिए है:
pl1 = Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]], {x, 0, 10},
Filling -> Axis,
DisplayFunction ->
Function[{plot},
Show[plot, AxesOrigin -> First /@ completePlotRange[plot],
DisplayFunction -> Identity]]];
pl2 = Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]], {x, 0, 10},
Filling -> Axis, Frame -> {{Automatic, None}, {Automatic, None}},
Axes -> False];
Rasterize[pl1] == Rasterize[pl1]
=> True
:
completePlotRange[plot_] :=
[email protected]@
Reap[Rasterize[
Show[plot, Ticks -> (Sow[{##}] &), DisplayFunction -> Identity],
ImageResolution -> 1]]
Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]], {x, 0, 10},
Filling -> Axis,
DisplayFunction ->
Function[{plot},
Show[plot, AxesOrigin -> First /@ completePlotRange[plot],
DisplayFunction -> Identity]]]
ऐसा नहीं है कि इस कोड को वास्तव में बस Frame -> {{Automatic, None}, {Automatic, None}}, Axes -> False
निर्दिष्ट करने के रूप में ही प्रतिपादन देता है नोट करने के लिए दिलचस्प है
मुझे लगता है कि यह मदद करेगा यदि आप गणित विवरण जोड़ सकते हैं जिसने आपके प्रश्न पर उस साजिश/छवि का उत्पादन किया हो? – dbjohn