إياد أحمد نشر 19 ديسمبر 2021 أرسل تقرير نشر 19 ديسمبر 2021 لدي مخطط بياني يحتوي العديد من التسميات (لكل نقطة بيانات هناك اسم) ولهذا السبب تتداخل التسميات مع بعضها البعض، لذا أريد أن يتم تدوير هذه التسميات بزاوية 90 درجة بحيث تصبح عمودية، لذا كيف يمكننا القيام بذلك؟ 1 اقتباس
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() الخرج: اقتباس
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 درجة كالتالي: اقتباس
السؤال
إياد أحمد
لدي مخطط بياني يحتوي العديد من التسميات (لكل نقطة بيانات هناك اسم) ولهذا السبب تتداخل التسميات مع بعضها البعض، لذا أريد أن يتم تدوير هذه التسميات بزاوية 90 درجة بحيث تصبح عمودية، لذا كيف يمكننا القيام بذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.