2012-12-18 14 views
5

मैं MATLAB में एक साधारण स्कैटर ग्राफ प्लॉट करना चाहता हूं, जिसमें स्पेक्ट्रम के एक छोर से दूसरे (जैसे लाल, नारंगी, पीला .... नीला, बैंगनी) से भिन्न मार्कर रंग होते हैं।MATLAB में स्नातक मार्कर रंगों के साथ मैं स्कैटर प्लॉट कैसे बना सकता हूं?

मेरा डेटा पानी की गुणवत्ता के साथ पानी की मात्रा की तुलना करता है, समय के साथ (3 सरल कॉलम: समय, राशि, गुणवत्ता)। मैं मात्रा बनाम गुणवत्ता के एक्स, वाई स्कैटर प्लॉट को प्लॉट करना चाहता हूं, लेकिन रंग के साथ समय के साथ प्रगति के साथ, ताकि समय के साथ गुणवत्ता की प्रगति को देखना संभव हो।

मुझे इस प्रकार के कई ग्राफ तैयार करने की आवश्यकता होगी, इसलिए यदि मुझे कोड का एक टुकड़ा मिल जाए जो डेटासेट की किसी भी लंबाई के लिए काम करेगा, तो यह वास्तव में उपयोगी होगा।

Matlab नौसिखिया की मदद के लिए अग्रिम धन्यवाद!

उत्तर

10

आप अपने डेटा को पहले से ही समय में हल कर रहे हैं, तो scatter

का रंग तर्क का उपयोग कर सकते से बस का उपयोग करें:

% let n be the number of points you have 
cmp = jet(n); % create the color maps changed as in jet color map 
scatter(x, y, 10, cmp, 'filled'); 

अन्यथा आप पहली बार अपने डेटा को सॉर्ट करने की जरूरत है:

[time, idx] = sort(time); 
x = x(idx); 
y = y(idx); 
cmp = jet(n); % create the color maps changed as in jet color map 
scatter(x, y, 10, cmp, 'filled'); 
+1

शानदार कॉल कर सकते हैं! आपकी मदद के लिए बहुत बहुत धन्यवाद, यह कुछ अन्य कोडों की तुलना में बहुत आसान है जो मैं समझने की कोशिश कर रहा था, और वास्तव में मुझे जो चाहिए था। – user1913275

2

अतिरिक्त चर द्वारा स्कैटर प्लॉट को रंगने का सबसे आसान तरीका यह है कि इसे "रंग" -र्गमेंट के रूप में पास करना है। मान लें कि आपके पास x, y, और time (जहां समय एक संख्यात्मक वेक्टर है। यदि समय में दिनांक तार शामिल हैं, तो पहले datenum पर कॉल करें)। तो फिर तुम

scatter(x,y,[],time,'filled') 

लिख सकते हैं colorbar कुल्हाड़ियों तो आपको बताएंगे कि समय में जो बिंदु एक विशिष्ट रंग से मेल खाती है। महत्वपूर्ण बात यह है कि माप के बीच का समय एक समान नहीं होने पर भी रंगों को ठीक से आगे बढ़ाएगा।

/एक तरफ: डिफ़ॉल्ट रंगमंच jet है, जो चिकनी संक्रमणों को देखने के लिए बहुत खराब है, मेरा सुझाव है कि आप फ़ाइल एक्सचेंज से perceptually improved colormap डाउनलोड करें। कोलोराप सेट करने के लिए इसका उपयोग करने के लिए, आप

cmap = pmkmp(length(time)); 
colormap(cmap); 
संबंधित मुद्दे