2013-04-26 6 views
5

निम्नलिखित मेरे matlab कोड का एक हिस्सा है। जैसा कि यह दिखाया गया है, मैं एक साजिश में 8 वक्र प्लॉट करना चाहता हूं। लेकिन मैं प्रत्येक वक्र को एक अद्वितीय रंग के साथ बनाना चाहता हूं। मैं किंवदंती को भी बदलना चाहता हूं ताकि यह प्रत्येक i के लिए बदल जाए।MATLAB में प्रत्येक पुनरावृत्ति में साजिश का रंग कैसे बदल सकता हूं?

उदाहरण के लिए, i = 1 के लिए किंवदंती gho-1 होगी, i = 2 gho-2 और इसी तरह के लिए। मैं इसे स्वचालित होना चाहता हूं क्योंकि मैं कभी-कभी i को पूर्व से बदल दूंगा: (i = 1: 20)।

for i=1:8 
. 
. 
. 
plot(b,r,'b'); 
legend(['qho-',num2str(i)]);  
hold on 
end 

मैं यह कैसे कर सकता हूं?

हाय फिर से,

मैं अन्य सवाल है: अगर मैं निम्नलिखित है

for i=1:8 
. 
b1=(1:3,:) 
b2=(3:6,:) 
figure(1);plot(b1,r,'*'); 
figure(2);plot(b2,r,'*'); 

Leg{i} = ['qho-',num2str(i)];  

end 
legend(Leg) 

मैं पिछले आंकड़ा केवल के लिए केवल रंग कथा मिला है। दोनों के लिए नहीं .. मैं इसे कैसे हल कर सकता हूं?

धन्यवाद फिर से

+0

आप नए सवाल – Dan

उत्तर

8

बस hold on के बजाय hold all का उपयोग करें और उदाहरण के लिए इस सवाल का एक सेल सरणी

hold all 
for i=1:8 
    . 
    . 
    . 
    plot(b,r); 

    Leg{i} = ['qho-',num2str(i)];  

end 
legend(Leg) 

में कथा लेबल डाल: Sparse matrix plot matlab


नोट:

से Matlab R2014b आगे, hold on को hold all जैसे कार्य करने के लिए संशोधित किया गया है, यानी हर बार प्लॉट के रंगों को बदलने के लिए संशोधित किया गया है। The docs बताता है कि भविष्य में रिलीज में hold all वाक्यविन्यास हटा दिया जाएगा।

+0

Ojjj के रूप में सवाल अनुवर्ती कार्रवाई से पूछना चाहिए कि तुम बहुत sooo धन्यवाद। यह पूरी तरह से काम करता है :) :) :) .... – YSF

+0

'सभी को पकड़ो' एक छुपे हुए मणि है जिसे बहुत से लोग नहीं जानते हैं। – shoelzer

+1

'सभी को पकड़ें' स्टॉक 7 रंगों तक सीमित है, और फिर वापस लूप करता है। यदि आप अपना खुद का रंग सेट परिभाषित करना चाहते हैं, तो आप अपना आंकड़ा खोल सकते हैं और 'सेट (जीसीए,' कलरऑर्डर ', मायकोलर्स)', जहां 'मायकोलर्स' आरजीबी मूल्यों का एनएक्स 3 मैट्रिक्स है। –

7

कैसे की तरह कुछ के बारे में:

figure, hold on 
N = 8; 
h = zeros(N,1); %# store handle to line graphic objects 
clr = lines(N); %# some colormap 
for i=1:N 
    %# plot random data 
    y = cumsum(randn(100,1)); 
    h(i) = plot(y, 'Color',clr(i,:)); 
end 
hold off 
legend(h, num2str((1:N)','gho-%d')) %# display legend 

plot

+0

जो भी अच्छा है। चुनने के कई तरीके :) :) .. बहुत बहुत धन्यवाद :) – YSF

+0

धन्यवाद! क्या लूप में 'सबप्लॉट' के साथ चाल करने का कोई तरीका है? प्रत्येक आकृति पर दोनों के लिए अतिरिक्त भूखंडों के साथ, 1 आकृति पर 2 सबप्लॉट, उदाहरण के लिए – soupault

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