2010-08-23 15 views
6

मैं डेटा x & errorbars, ebar साथ y, और इसकी फिट, yfitted प्लॉट करने के लिए, एक semilog भूखंड पर चाहते हैं। यह काम नहीं कर रहा है:MATLAB में semilogy() के साथ त्रुटि पट्टी() का उपयोग करना?

figure; 
hold on; 
errorbar(x,y,ebar); 
semilogy(x,yfitted); 

सेमिलोग प्लॉट के बजाय मुझे एक रैखिक साजिश मिलती है। मुझे अलग-अलग क्या करना चाहिए?

उत्तर

8

h = errorbar(x,y,ebar); 
set(get(h,'Parent'), 'YScale', 'log') 

या

ax = axes(); 
errorbar(ax, x,y,ebar); 
set(ax, 'YScale', 'log'); 
+0

कामों की तरह लेकिन यह सभी त्रुटिबारों को खराब करता है .. उदा। यह कुछ ऊर्ध्वाधर रेखाओं को खींचने में विफल रहता है – AndyL

+2

जैसा कि आप शायद महसूस करते हैं, आप 0 का लॉग या नकारात्मक संख्या – Marc

3

यह वही प्रलेखन कहते है की कोशिश करो।

"आप पर पकड़ के साथ एक रैखिक अक्ष मोड ग्राफ के लिए एक loglog, semilogx, या semilogy साजिश जोड़ने का प्रयास करते हैं, तो अक्ष मोड के रूप में यह है रहेगा और नए डेटा रैखिक के रूप में साजिश जाएगा"

मैं सुझाव देगा कि आप बस अपनी साजिश के आदेश को उलट दें, यानी।

semilogy(x,yfitted); 
hold on; 
errorbar(x,y,ebar); 
+0

नहीं ले सकते हैं मैंने पहले कोशिश की थी। यह वास्तव में काम नहीं करता है। :/ – AndyL

+0

मैं MATLAB R2009a – AndyL

+0

पर काम करना चाहिए। क्या आप लिख रहे हैं >> आकृति; >> पकड़ो; semilogy का उपयोग करने से पहले? यदि आप करते हैं, तो यह काम नहीं करेगा। बस मेरी पोस्ट में तीन पंक्तियां लिखें और आपको उपरोक्त उत्तर के समान परिणाम मिलेंगे। – Ghaul

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