إياد أحمد نشر 19 ديسمبر 2021 أرسل تقرير مشاركة نشر 19 ديسمبر 2021 لدي مخطط بياني يحتوي العديد من التسميات (لكل نقطة بيانات هناك اسم) ولهذا السبب تتداخل التسميات مع بعضها البعض، لذا أريد أن يتم تدوير هذه التسميات بزاوية 90 درجة بحيث تصبح عمودية، لذا كيف يمكننا القيام بذلك؟ 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Ali Haidar Ahmad نشر 19 ديسمبر 2021 أرسل تقرير مشاركة نشر 19 ديسمبر 2021 يمكنك القيام بذلك بعدة طرق.. تابع المثال التالي: import seaborn as sns import matplotlib.pyplot as plt sns.set(style="whitegrid") iris = sns.load_dataset('iris') ax = sns.stripplot(x='species', y='sepal_length', data=iris) plt.title('Graph') plt.show() الخرج: الآن لتدوير ال Labels يمكنك استخدام الدالة التالية: ax.tick_params(axis='x', rotation=90) بحيث الوسيط الأول هو اسم المحور المطلوب تطبيق التدوير على ملصقاته، والوسيط الثاني هو درجة التدوير. أو من خلال كائن plt باستخدام الدالة: plt.xticks(rotation=90) # للمحور الأفقي plt.yticks(rotation=90) # للمحور العمودي وبالتالي: import seaborn as sns import matplotlib.pyplot as plt sns.set(style="whitegrid") iris = sns.load_dataset('iris') ax = sns.stripplot(x='species', y='sepal_length', data=iris) ############# ax.tick_params(axis='x', rotation=90) ############# plt.title('Graph') plt.show() الخرج: اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Ahmed Sharshar نشر 20 ديسمبر 2021 أرسل تقرير مشاركة نشر 20 ديسمبر 2021 بالاضافة للطرق السابقة يمكنك استخدام الدالة setp من matplot وذلك لان seaborn تقوم بارجاع المحاور بنفس صيغة matplot وبالتالي يمكن استخدامها كالتالي: plt.setp(labels, rotation=45) حيث تقوم باخذ عناوين المحاور مع درجة تدويرها. كمثال الكود التالي: import pandas as pd import matplotlib.pyplot as plt import seaborn as sns df = pd.DataFrame({"Date": ['01012019','01022019','01032019','01042019', '01052019','01062019','01072019','01082019'], "Price": [77,76,68,70,78,79,74,75]}) df["Date"] = pd.to_datetime(df["Date"], format = "%d%m%Y") plt.figure(figsize = (15,8)) ax = sns.barplot(x = 'Date', y = 'Price',data = df) locs, labels = plt.xticks() plt.setp(labels, rotation=45) حينها تظهر الارقام السفلي بميل قيمته 45 درجة كالتالي: اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
إياد أحمد
لدي مخطط بياني يحتوي العديد من التسميات (لكل نقطة بيانات هناك اسم) ولهذا السبب تتداخل التسميات مع بعضها البعض، لذا أريد أن يتم تدوير هذه التسميات بزاوية 90 درجة بحيث تصبح عمودية، لذا كيف يمكننا القيام بذلك؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.