इसके अलावा जवाब @yuk लिए, यदि आप एक कथा के रूप में अच्छी तरह से तैयार है,
hline = findobj(gcf, 'type', 'line');
N x 3
लाइनों वापस आ जाएगी (या अधिक सटीक - lines plotted + 2x lines in legend
)। मैं यहां केवल उस मामले में देखता हूं जब प्लॉट की सभी लाइनें पौराणिक कथाओं में भी होती हैं।5 लाइनों (हम उन्हें ध्यान दें 1 to 5
हैं) साजिश रची और कथा, जोड़ा आप
hline:
1 : 5 th line (mistical)
2 : 5 th line (in legend)
3 : 4 th line (mistical)
4 : 4 th line (in legend)
5 : 3 th line (mistical)
6 : 3 th line (in legend)
7 : 2 th line (mistical)
8 : 2 th line (in legend)
9 : 1 th line (mistical)
10: 1 th line (in legend)
11: 5 th line (in plot)
12: 4 th line (in plot)
13: 3 th line (in plot)
14: 2 th line (in plot)
15: 1 th line (in plot)
एक समाधान (शुक्रवार शाम विलंब) के रूप में होगा मैं इस बनाया के मामले में :
अनुक्रमण अजीब है छोटा बच्चा:
समाधान 1: आप अगर वहाँ एक पौराणिक कथा है और कितने लिन कथा
का पता लगाने पुनर्स्थापित करने के लिए नहीं करना चाहते हैं तों साजिश रची है:
hline = findobj(gcf, 'type', 'line');
isThereLegend=(~isempty(findobj(gcf,'Type','axes','Tag','legend')))
if(isThereLegend)
nLines=length(hline)/3
else
nLines=length(hline)
end
प्रत्येक पंक्ति के लिए सही हैंडल खोजने के लिए और है कि रेखा (यह इसी कथा लाइन के लिए भी लागू होगा) के लिए चीजें करते
for iterLine=1:nLines
mInd=nLines-iterLine+1
if(isThereLegend)
set(hline([(mInd*2-1) (mInd*2) (2*nLines+mInd)]),'LineWidth',iterLine)
else
set(hline(mInd),'LineWidth',iterLine)
end
end
इस के साथ हर i-th
लाइन बनाता है width=i
और यहां आप स्वचालित संपत्ति को बदल सकते हैं;
समाधान 2: रखें यह आसान
कथा से छुटकारा, लाइनों की देखभाल, रीसेट कथा।
legend off
hline = findobj(gcf, 'type', 'line');
nLines=length(hline)
for iterLine=1:nLines
mInd=nLines-iterLine+1
set(hline(mInd),'LineWidth',iterLine)
end
legend show
यह उन परिस्थितियों के लिए उपयुक्त नहीं हो सकता है जब कथा कुछ speciffic जगह आदि
बहुत बहुत धन्यवाद! यह ठीक काम किया! – aarelovich