অনেকগুলি এখানে "সঠিক" উত্তর দেয় তবে আমি আরও একটি যুক্ত করব যেহেতু আমি মনে করি যে কয়েকটি বিবরণীর মধ্যে কিছু বিবরণ বাকি রয়েছে। ওপি 90 ডিগ্রি ঘোরার জন্য জিজ্ঞাসা করেছিল তবে আমি 45 ডিগ্রিতে পরিবর্তন করব কারণ আপনি যখন কোনও কোণ ব্যবহার করেন যা শূন্য বা 90 নয়, আপনার অনুভূমিক প্রান্তিককরণটিও পরিবর্তন করা উচিত; অন্যথায় আপনার লেবেলগুলি অফ-সেন্টার এবং কিছুটা বিভ্রান্তিকর হবে (এবং আমি অনুমান করছি যে এখানে আসা অনেক লোক 90 এর বাইরে অন্য কিছুতে কুড়াল ঘোরতে চান)।
সবচেয়ে সহজ / সর্বনিম্ন কোড
বিকল্প 1
plt.xticks(rotation=45, ha='right')
পূর্বে উল্লিখিত হিসাবে, আপনি বরং অবজেক্ট ওরিয়েন্টেড পন্থা অবলম্বন করতে চাইলে এটি কাম্য হবে না।
বিকল্প 2
আর একটি দ্রুত উপায় (এটি তারিখের অবজেক্টগুলির জন্য লক্ষ্যযুক্ত তবে কোনও লেবেলে কাজ করে বলে মনে হচ্ছে; সন্দেহ এটির প্রস্তাবিত যদিও):
fig.autofmt_xdate(rotation=45)
fig
আপনি সাধারণত থেকে পাবেন:
fig = plt.figure()
fig, ax = plt.subplots()
fig = ax.figure
অবজেক্ট-ওরিয়েন্টেড / ডিলিং সরাসরি সাথে ax
বিকল্প 3 এ
আপনার যদি লেবেলের তালিকা থাকে:
labels = ['One', 'Two', 'Three']
ax.set_xticklabels(labels, rotation=45, ha='right')
বিকল্প 3 বি
আপনি যদি বর্তমান প্লট থেকে লেবেলের তালিকা পেতে চান:
# Unfortunately you need to draw your figure first to assign the labels,
# otherwise get_xticklabels() will return empty strings.
plt.draw()
ax.set_xticklabels(ax.get_xticklabels(), rotation=45, ha='right')
বিকল্প 4
উপরের মতো, তবে পরিবর্তে ম্যানুয়ালি লুপ করুন।
for label in ax.get_xticklabels():
label.set_rotation(45)
label.set_ha('right')
বিকল্প 5
আমরা এখনও এখানে pyplot
(যেমন plt
) ব্যবহার করি তবে এটি অবজেক্ট-ওরিয়েন্টেড কারণ আমরা একটি নির্দিষ্ট ax
অবজেক্টের সম্পত্তি পরিবর্তন করছি ।
plt.setp(ax.get_xticklabels(), rotation=45, ha='right')
বিকল্প 6
এই বিকল্পটি সহজ, কিন্তু আফাইক আপনি এইভাবে লেবেল অনুভূমিক সারিবদ্ধ সেট করতে পারবেন না যাতে আপনার কোণটি 90 না হলে অন্য বিকল্পটি আরও ভাল হতে পারে।
ax.tick_params(axis='x', labelrotation=45)
সম্পাদনা করুন:
এই সঠিক "বাগ" নিয়ে আলোচনা আছে এবং এর জন্য একটি সমাধানের সম্ভাব্যতা রয়েছে v3.2.0
:
https://github.com/matplotlib/matplotlib/issues/13774
ha