matlab - एक आकृति को स्वचालित रूप से अधिकतम करें




export matlab-figure (6)

मैं MATLAB में कुछ आंकड़े बना रहा हूं और उन्हें स्वचालित रूप से फ़ाइलों में सहेज रहा हूं। समस्या यह है कि परिभाषा के अनुसार छवियां छोटी हैं। हाथ से मेरी समस्या को हल करने का एक अच्छा तरीका एक छवि (आकृति) बनाना, इसे अधिकतम करना, और फ़ाइल में सहेजना है।

मैं एक आकृति को स्वचालित रूप से अधिकतम करने के इस चरण को याद कर रहा हूं।

कोई सुझाव? अब तक मुझे केवल यह पता चला है:

http://answers.yahoo.com/question/index?qid=20071127135551AAR5JYh

http://www.mathworks.com/matlabcentral/newsreader/view_thread/238699

लेकिन कोई भी मेरी समस्या को हल नहीं कर रहा है।


आकृति को अधिकतम करने के लिए, आप उन चाबियों के अनुक्रम की नकल कर सकते हैं जिनका आप वास्तव में उपयोग करेंगे:

  1. एएलटी - विंडो मेनू तक पहुंचने के लिए स्पेस (जैसा कि here इंगित किया गया here ); और फिर
  2. अधिकतम करने के लिए एक्स (यह आपके सिस्टम में भिन्न हो सकता है)।

कुंजी को प्रोग्रामेटिक रूप से भेजने के लिए, आप इस उत्तर के समान जावा-आधारित प्रक्रिया का उपयोग निम्नानुसार कर सकते हैं:

h = figure;                                          %// create figure and get handle
plot(1:10);                                          %// do stuff with your figure
figure(h)                                            %// make it the current figure
robot = java.awt.Robot; 
robot.keyPress(java.awt.event.KeyEvent.VK_ALT);      %// send ALT
robot.keyPress(java.awt.event.KeyEvent.VK_SPACE);    %// send SPACE
robot.keyRelease(java.awt.event.KeyEvent.VK_SPACE);  %// release SPACE
robot.keyRelease(java.awt.event.KeyEvent.VK_ALT);    %// release ALT
robot.keyPress(java.awt.event.KeyEvent.VK_X);        %// send X
robot.keyRelease(java.awt.event.KeyEvent.VK_X);      %// release X

देखा! खिड़की अधिकतम!


आप इसे आजमा सकते हैं:

screen_size = get(0, 'ScreenSize');
f1 = figure(1);
set(f1, 'Position', [0 0 screen_size(3) screen_size(4) ] );

यह मेरे लिए काम किया:

figure('units','normalized','outerposition',[0 0 1 1])

या वर्तमान आंकड़े के लिए:

set(gcf,'units','normalized','outerposition',[0 0 1 1])

मैंने FileExchange पर MAXIMIZE फ़ंक्शन का भी उपयोग किया है जो जावा का उपयोग करता है। यह सच अधिकतम है।


यह सबसे छोटा रूप है

figure('Position',get(0,'ScreenSize'))

R2018a के अनुसार , figure साथ-साथ uifigure ऑब्जेक्ट्स में WindowState नामक एक संपत्ति WindowState । यह डिफ़ॉल्ट रूप से 'normal' पर सेट है, लेकिन इसे 'maximized' पर सेट करना वांछित परिणाम देता है।

निष्कर्ष के तौर पर:

hFig.WindowState = 'maximized'; % Requires R2018a

वैसे, अपनी मूल समस्या को हल करने के लिए - यदि आप परिणामों के बारे में चिंता किए बिना छवियों की सामग्री को बहुत छोटे से निर्यात करना चाहते हैं - तो मैं अत्यधिक export_fig उपयोगिता की अनुशंसा करता export_fig


जैसा कि उपर्युक्त लेखक द्वारा प्रस्तावित किया गया है , यदि आप "अधिकतम" विंडो बटन पर क्लिक करना अनुकरण करना चाहते हैं, तो आप निम्न कोड का उपयोग कर सकते हैं। उल्लेख किए गए उत्तर के साथ अंतर यह है कि "रोकें" के बजाय "खींचा" का उपयोग करना अधिक सही लगता है।

figure;
% do your job here
drawnow;
set(get(handle(gcf),'JavaFrame'),'Maximized',1);






maximize-window