टी एल; डॉ -> कैसे एक में एक लाइन ग्राफ के लिए एक किंवदंती बना सकते हैं
Matplotlib
कीPyPlot
किसी भी अतिरिक्त चर बनाने के बिना?
कृपया रेखांकन लिपि पर विचार करें:
if __name__ == '__main__':
PyPlot.plot(total_lengths, sort_times_bubble, 'b-',
total_lengths, sort_times_ins, 'r-',
total_lengths, sort_times_merge_r, 'g+',
total_lengths, sort_times_merge_i, 'p-', )
PyPlot.title("Combined Statistics")
PyPlot.xlabel("Length of list (number)")
PyPlot.ylabel("Time taken (seconds)")
PyPlot.show()
आप देख सकते हैं, इस बात का एक बहुत ही बुनियादी इस्तेमाल होता है matplotlib
की PyPlot
। यह आदर्श रूप में नीचे दिए गए जैसे एक ग्राफ बनाता है:
कुछ खास नहीं, मुझे पता है। हालाँकि, यह स्पष्ट नहीं है कि डेटा कहाँ पर प्लॉट किया जा रहा है (मैं कुछ छँटाई वाले एल्गोरिदम के डेटा को प्लॉट करने की कोशिश कर रहा हूँ, समय के विरुद्ध लंबाई, और मैं यह सुनिश्चित करना चाहूंगा कि लोगों को पता हो कि कौन सी लाइन कौन सी है)। इस प्रकार, मुझे एक किंवदंती की आवश्यकता है, हालांकि, नीचे दिए गए उदाहरण ( आधिकारिक साइट से ) पर एक नज़र डालें :
ax = subplot(1,1,1)
p1, = ax.plot([1,2,3], label="line 1")
p2, = ax.plot([3,2,1], label="line 2")
p3, = ax.plot([2,3,1], label="line 3")
handles, labels = ax.get_legend_handles_labels()
# reverse the order
ax.legend(handles[::-1], labels[::-1])
# or sort them by labels
import operator
hl = sorted(zip(handles, labels),
key=operator.itemgetter(1))
handles2, labels2 = zip(*hl)
ax.legend(handles2, labels2)
आप देखेंगे कि मुझे एक अतिरिक्त चर बनाने की आवश्यकता है ax
। मैं इस अतिरिक्त चर को बनाने और अपनी वर्तमान स्क्रिप्ट की सरलता को बनाए रखने के बिना अपने ग्राफ में एक किंवदंती कैसे जोड़ सकता हूं ?
matplotlib
पहले नहीं हुआ है, इसलिए मैं चीजों को यथासंभव सरल रखना चाहता था। इसके अलावा, अगर आप रोब के उत्तर पर एक नज़र डालें, तो इसका उदाहरण वेबसाइट पर दिखाए गए उदाहरण से कहीं अधिक सरल है। मुझे आशा है कि वह मदद करेंगे।
import matplotlib.pyplot as plt
करने की जगह हैPyPlot