फ्रेम, स्लाइडर्स और कुल्हाड़ियों के बिना, मैनीपुलेट से एक तस्वीर कैसे निकालें?
मैं Manipulate
एक स्लाइडर का उपयोग करने वाली कुछ तस्वीरें निकालना चाहता हूं , लेकिन जब मैं इसे पॉप-अप मेनू से करता हूं, तो मुझे इसके साथ सभी फ्रेम और स्लाइडर मिलते हैं। किसी दिए गए स्लाइडर मान के लिए हम चित्र (PNG, कहते हैं) को कैसे निर्यात कर सकते हैं (कहें$k = 0.5$, उदाहरण के लिए नीचे), मैनीपुलेट फ्रेम, स्लाइडर के बिना, और यहां तक कि कुल्हाड़ियों और टिक्स के बिना?
और शायद मुश्किल: हम मैनीपुलेट जो दिखाते हैं उससे अधिक रिज़ॉल्यूशन वाले ग्राफिक्स कैसे निकाल सकते हैं? (पीएनजी प्रारूप में 1024 x 1024 पिक्सेल, नीचे 600 के कम रिज़ॉल्यूशन के बजाय)।
यहाँ एक सेमी-कूल MWE के साथ खेलना है:
Manipulate[
ContourPlot[
Cos[x + y] Sin[k x - 3 y],
{x, -2, 2},
{y, -2, 2},
PlotPoints -> 20,
PlotRange -> {{-2, 2}, {-2, 2}},
Axes -> True,
AxesOrigin -> {0, 0},
AxesStyle -> Directive[GrayLevel[0.5]],
AxesLabel -> {
Style["X", Bold, 14],
Style["Y", Bold, 14]
},
ColorFunction -> "Rainbow",
ContourStyle -> Black,
Contours -> Automatic,
ImageSize -> 600
],
{
k, -5, 5, 0.1,
ImageSize -> Large,
Appearance -> {"Labeled", "Closed"},
AppearanceElements -> {"InputField", "Slider"}
},
ControlPlacement -> Bottom,
FrameMargins -> None,
FrameLabel -> {None, None,
Style["Some Funny Title", Bold, 14, FontFamily -> "Helvetica"]}
]
जवाब
Manipulate[
plt = ContourPlot[
Cos[x + y] Sin[k x - 3 y],
{x, -2, 2}, {y, -2, 2},
PlotPoints -> 20,
PlotRange -> {{-2, 2}, {-2, 2}},
Axes -> True,
AxesOrigin -> {0, 0},
AxesStyle -> Directive[GrayLevel[0.5]],
AxesLabel -> {Style["X", Bold, 14], Style["Y", Bold, 14]},
ColorFunction -> "Rainbow",
ContourStyle -> Black,
Contours -> Automatic, ImageSize -> 600
],
{k, -5, 5, 0.1, ImageSize -> Large, Appearance -> {"Labeled", "Closed"}, AppearanceElements -> {"InputField", "Slider"}},
ControlPlacement -> Bottom,
FrameMargins -> None,
FrameLabel -> {None, None, Style["Some Funny Title", Bold, 14, FontFamily -> "Helvetica"]}
]
Export["~/Desktop/test.png", plt, ImageSize -> {1024, 1024}]
(* or *)
Export["~/Desktop/test.png", plt, ImageResolution -> 300]
(* EDIT *)
Export["~/Desktop/test.png", plt[[1]]//Graphics, ImageSize -> {1024, 1024}]
यह स्लाइडर सेटिंग द्वारा उत्पन्न फ्रेम को एक चर नाम से बचाता है plt
। हर बार जब स्लाइडर बदलता है, plt
तो अपडेट किया जाता है। फिर, मैं आमतौर पर Export
कमांड का उपयोग करता हूं ताकि मैं विभिन्न मापदंडों को आसानी से नियंत्रित कर सकूं। थोड़ा अलग: एक निर्यात पैरामीटर जो मुझे काफी पसंद है Background -> None
। यहां वास्तव में प्रासंगिक नहीं है, लेकिन यह आपको बिना पृष्ठभूमि वाले पीएनजी छवियों को निर्यात करने की अनुमति देता है। अगर पोस्टर पृष्ठभूमि के साथ पर्याप्त विपरीत है, तो पोस्टर या प्रस्तुति में जोड़ते समय वास्तव में धीमा लगता है।
सिर्फ ग्राफिक्स बनाने के लिए ContourPlot
मैंने पहले andre314 की विधि का उपयोग किया plt
और इसे ग्राफिक में बदल दिया plt[[1]]//Graphics
।
इसके साथ उपरोक्त कोड का परिणाम ImageSize -> {1024, 1024}
है:

ऊपर से अंतिम निर्यात विवरण का परिणाम है:

संपादित करें
मैंने अपने पहले उत्तर की तुलना में कुछ सरल पाया है:
Setting
एक सामान्य ग्राफिक प्राप्त करने के लिए हेरफेर पर लागू करें ।
फिर इस ग्राफ़िक के सभी विकल्पों को हटाने के लिए, एक तरीका यह है कि पहले भाग को फिर से लिया जाए Graphic

पुराने जवाब
आप मैनिपुलेट में स्नैपशॉट फ़ंक्शन का उपयोग कर सकते हैं।
फिर (यह आवश्यक नहीं हो सकता है) DynamicModule
द्वारा फिर से भरना With
,
फिर इस का मूल्यांकन एक सामान्य देता है Graphics
। इस ग्राफ़िक के सभी विकल्पों को हटाने के लिए, एक तरीका पहला भाग और फिर से लागू करना हैGraphic
