2012-02-28 10 views
8

मेरे वर्तमान MATLAB GUI प्रोजेक्ट के भीतर, मेरे पास दो अक्ष वस्तुएं हैं। लाटेक्स-फॉर्मूला को प्रदर्शित करने के लिए पहली बार वर्कअराउंड "uibutton" (मैं गाइड का उपयोग नहीं करता) द्वारा उपयोग किया जाता है (जहां तक ​​मुझे पता है, केवल धुरी लेबल लाटेक्स का उपयोग करने में सक्षम हैं जबकि सामान्य स्थिर टेक्स्ट फ़ील्ड नहीं हैं ...)। अन्य axes ऑब्जेक्ट का उपयोग वास्तव में एक 3 डी-फ़ंक्शन प्लॉट करने के लिए किया जाता है।MATLAB GUI में लेटेक्स-लेबल को धुंधला होने के लिए कैसे रोकें?

कार्यक्रम निम्न चरणों के होते हैं:

  1. पहले कुल्हाड़ियों लेटेक्स-सूत्र creats (जैसे f (x) =)।
  2. उपयोगकर्ता लाटेक्स-फॉर्मूला (उदा। एफ (एक्स) = ए + बी) के बाद संपादन क्षेत्र में एक फ़ंक्शन में प्रवेश करता है।
  3. उपयोगकर्ता एक "साजिश" -बटन दबाता है।
  4. 3 डी-फ़ंक्शन दूसरी अक्ष ऑब्जेक्ट में प्लॉट किया गया है।

समस्या:

जैसे ही 3 डी-समारोह साजिश रची है, अच्छी तरह से प्रदान की गई LaTeX-फ़ॉर्म्यूलर कुरकुरा हो जाता है। क्या ऐसा होने से रोकने के लिए कोई रास्ता है?

Problem Demonstration

http://i42.tinypic.com/348pq2u.png (समस्या प्रदर्शन के लिए चित्र देखें)

+0

dieterw, दिलचस्प सवाल करने के लिए सेट करके आप उसे मजबूर करने के लिए कोशिश कर सकते हैं! मैं जो पेशकश कर सकता हूं वह यह है कि यदि आप चाहें तो आप सीधे अपनी तस्वीरों को एसओ में अपलोड कर सकते हैं। – macduff

+0

हे मैकडफ, आपकी त्वरित प्रतिक्रिया के लिए धन्यवाद। हाँ, मैंने इसके बारे में भी सोचा, लेकिन समस्या यह है कि यदि उपयोगकर्ता खिड़की का आकार बदलता है तो चित्र पिक्सलेटेड हो जाएंगे। ऐसा नहीं होगा, अगर उन लाटेक्स-फोंट का आकार बदलने पर पुन: प्रस्तुत किया जाता है। – dieterw

+0

वाह! भयानक तर्क! मुझे लगता है कि आप इतने दूर जायेंगे! – macduff

उत्तर

2

से पहले अपने आंकड़ा गुण की जाँच करें और आप 3 डी साजिश

get(gcf, 'renderer') 

मेरा अनुमान है कि है 3 डी समारोह की साजिश रचने में परिवर्तन आकर्षित के बाद डिफॉल्ट ("पेंटर्स") से दूसरे (संभवतः ओपनजीएल) से रेंडरर। मैटलैब का लेटेक्स प्रतिपादन ज़बफर या ओपनजीएल (इन्हें लाइन कला के बजाए बिटमैप के साथ) के साथ अच्छी तरह से खेलना प्रतीत नहीं होता है।

आप अगर चित्रकारों अपने 3 डी ग्राफिक्स ठीक से प्रस्तुत नहीं कर सकते हैं अटक सकता है, लेकिन जब आप दाता मैन्युअल वापस चित्रकारों

set(gcf, 'renderer', 'painters') 
+0

उत्तर के लिए धन्यवाद। मैंने कोशिश की और वास्तव में, चित्रकार रेंडरर को मजबूर कर, लाटेक्स-फोंट चिकनी रहें लेकिन जैसा कि आपने पहले ही अनुमान लगाया है, 3 डी-आंकड़ा ठीक से प्रस्तुत नहीं किया जा सकता है। चूंकि कोई एक अक्ष/आकृति के लिए अलग-अलग प्रस्तुतकर्ता सेट करने में सक्षम नहीं है, इसलिए मेरा विचार एक खिड़की के भीतर दो अलग-अलग आंकड़े (एक लाटेक्स लेबल और 3 डी प्लॉट के साथ) को परिभाषित करना है और प्रत्येक आकृति के लिए अलग-अलग प्रस्तुतकर्ता सेट करना है। मुझे कोशिश करनी है, लेकिन शायद कल। या यह भी संभव है? – dieterw

+1

@dieterw मुझे पता चला है कि यदि आपको MATLAB से प्रकाशन गुणवत्ता वाले आंकड़े की आवश्यकता है और आप लाइन कला और पैच को जोड़ रहे हैं तो आपको आम तौर पर प्रत्येक घटक को अलग से बनाना होगा और फिर उन्हें एडोब इलस्ट्रेटर जैसे ग्राफिक्स प्रोग्राम में गठबंधन करना होगा। यहां, आप इलस्ट्रेटर में बाद में सीधे अपने टेक्स्ट में भी जोड़ सकते हैं। – Marc

+0

बहुत जानकारीपूर्ण। मुझे लगता है कि लाइन कला 2 डी प्लॉट और पैच 3 डी प्लॉट के बराबर बराबर है? बात यह है कि मैंने जो प्रोग्राम लिखा है, वह कुछ सूक्ष्म आर्थिक कार्यों के लाइव-प्रदर्शन के लिए प्रयोग किया जाता है, जहां मेरे प्रोफेसर एक तरफ पैरामीटर को बदलने में सक्षम होना चाहिए (इसलिए लाटेक्स-लेबल्स) और दूसरी तरफ 3 डी-प्लॉट देखें। यदि मैं किसी दस्तावेज़ में दोनों प्रकाशित करना चाहता था, तो आपका तरीका सबसे अच्छा होगा। – dieterw

संबंधित मुद्दे