2014-10-09 12 views
8

मैं एक MATLAB प्लॉट बनाना चाहता हूं जिसमें टिक लेबल हैं लेकिन एक्स अक्ष पर कोई टिक चिह्न नहीं है, लेकिन वाई अक्ष पर टिक अंक हैं। मैं यह कैसे कर सकता हूँ?MATLAB लेबल को रखते हुए एक अक्ष पर टिक हटाएं

मैं

set(gca,'XTick',[]) 

उपयोग नहीं कर सकते क्योंकि यह टिक लेबल निकालने होगा। मैं

set(gca,'TickLength',[0 0]) 

का उपयोग नहीं कर सकता क्योंकि यह वाई अक्ष पर टिक अंक हटा देगा।

+0

यदि आप ईपीएस छवि (या प्रकाशन के लिए लक्षित समान वेक्टर ग्राफिक्स) प्राप्त करने के लिए ऐसा कर रहे हैं, तो मैं matlab2tikz का उपयोग करने का सुझाव देता हूं और फिर एक ईपीएस बनाने के लिए लेटेक्स में pgfplot का सुझाव देता हूं। (इस तरह मैं आमतौर पर इसे करता हूं) – vindarmagnus

उत्तर

2

इस प्रभाव को प्राप्त करने के लिए आपको एकाधिक अक्षों का उपयोग करना होगा क्योंकि MATLAB एक्स और वाई अक्षों के लिए अलग टिकलेंथ गुण प्रदान नहीं करता है।

उदाहरण:

x=linspace(0,4*pi); 
y=sin(x); 
ax=plotyy(x,y,0,0); 
set(ax(1),'XTick',[]); 
set(ax(1),'YColor',get(ax(1),'XColor')) 
set(ax(2),'TickLength',[0 0]); 
set(ax(2),'YTick',[]); 

इसमें कुछ समय hacky है, लेकिन यह, अतिरिक्त y- अक्ष plotyy() समारोह में प्रदान की जाती उपयोग करने के साथ 0 टिक लंबाई x- अक्ष लेबल रखने के लिए कर काम करता है, जबकि अभी भी दिखा मूल वाई-अक्ष से y-ticks।

1

MATLAB से शुरू 2015b आप लिख सकते हैं:

ax.XAxis.TickLength = [0,0]; 

और कम शून्य केवल X- अक्ष टिक लंबाई करने के लिए।

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