ম্যাটপ্লটলিব - এক্স-এক্সিস লেবেলটি নীচের দিকে সরান, তবে এক্স-এক্সিস টিকগুলি নয়


109

আমি হিস্টোগ্রামের প্লট করতে ম্যাটপ্লটলিব ব্যবহার করছি। আমার পূর্ববর্তী প্রশ্ন থেকে টিপস ব্যবহার করে: ম্যাটপ্ল্লোব - প্রতিটি বিনকে লেবেল দিন, আমি কম-বেশি কিঙ্কস কাজ করেছি।

এখানে একটি চূড়ান্ত সমস্যা রয়েছে - এর আগে - এক্স-অক্ষ লেবেল ("সময় (মিলিসেকেন্ডে)") এক্স-অক্ষের টিকমার্কের নীচে রেন্ডার করা হচ্ছিল (0.00, 0.04, 0.08, 0.12 ইত্যাদি)

কোনও প্যাডিং নেই - পরিসংখ্যানগুলির নীচে অক্ষ লেবেল

জো কিংস্টনের পরামর্শ (উপরের প্রশ্নটি দেখুন) ব্যবহার করে আমি ব্যবহার করার চেষ্টা করেছি:

ax.tick_params(axis='x', pad=30)

তবে এটি এক্স-অক্ষের টিকমার্কগুলি (0.00, 0.04, 0.08, 0.12 ইত্যাদি) পাশাপাশি এক্স-অক্ষের লেবেল ("সময় (মিলি সেকেন্ডে)") উভয় স্থানান্তরিত করে:

30 প্যাডিং - অক্ষ লেবেল এবং টিক চিহ্ন উভয়ই স্থানান্তরিত হয়েছে

তিনটি সারি চিত্রের নীচে কেবল এক্স-অক্ষের লেবেলটি সরানোর কোনও উপায় আছে কি?

নোট: আপনার নীচের পিএনজিগুলি সরাসরি খোলার প্রয়োজন হতে পারে - চিত্রটিতে রাইট ক্লিক করুন, তারপরে চিত্রটি দেখুন (এফএফ এ), বা নতুন ট্যাবে চিত্র (ক্রোম) খুলুন। এসও দ্বারা সম্পাদিত চিত্রের আকারটি তাদের কাছে অপঠনযোগ্য রেন্ডার করেছে

উত্তর:


196

লেবেলপ্যাড প্যারামিটার ব্যবহার করুন:

pl.xlabel("...", labelpad=20)

বা এটি পরে সেট করুন:

ax.xaxis.labelpad = 20

13

যদি চলক ax.xaxis._autolabelpos = সত্য, matplotlib অক্ষরে.প্যাডেট_লাবেল_পজিশনে ফাংশনটিতে লেবেল অবস্থান নির্ধারণ করে (কিছু অংশ):

    bboxes, bboxes2 = self._get_tick_bboxes(ticks_to_draw, renderer)
    bbox = mtransforms.Bbox.union(bboxes)
    bottom = bbox.y0
    x, y = self.label.get_position()
    self.label.set_position((x, bottom - self.labelpad * self.figure.dpi / 72.0))

আপনি ব্যবহার করে টিক্সের থেকে স্বাধীনভাবে লেবেল অবস্থানটি সেট করতে পারেন:

    ax.xaxis.set_label_coords(x0, y0)

যা _আটোলবেলপোসকে মিথ্যাতে সেট করে বা উপরে উল্লিখিত লেবেলপ্যাড প্যারামিটার পরিবর্তন করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.