টি এল; ডিআর -> কিভাবে এক একটি লাইন গ্রাফ জন্য একটি কিংবদন্তি তৈরি করতে পারেন
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