اذهب إلى المحتوى

السؤال

نشر

لدي المخطط التالي:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="whitegrid")
titanic = sns.load_dataset("titanic")
g = sns.factorplot("class", "survived", "sex",
                   data=titanic, kind="bar",
                   size=6, palette="muted")
g.despine(left=True)
g.set_ylabels("survival probability")

والخرج:
index.png.93ac9d962b5886eb0df5001fe7e5602f.png
ما أحتاج إليه هو تغيير موضع ال legend، على سبيل المثال أريد وضعه في أعلى اليسار؟

Recommended Posts

  • 1
نشر

يمكنك تغيير موقعه من خلال ضبط الوسيط legend في الدالة factorplot على false (لكي لايقوم بعملية إضافة تلقائية له). ثم استخدام الدالة plt.legend لإضافته في الموقع المطلوب:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="whitegrid")
titanic = sns.load_dataset("titanic")
g = sns.factorplot("class", "survived", "sex",
                   data=titanic, kind="bar",
                   size=6, palette="muted",
                   legend=False)
g.despine(left=True)
plt.legend(loc='upper left') # في الزاوية العليا اليسارية
g.set_ylabels("survival probability")

ويمكن تمرير القيم التالية أيضاً:

 'upper left', 'upper right', 'lower left', 'lower right' 
'upper center', 'lower center', 'center left', 'center right' 

الخرج:
index.png.e29c7f18e0aabbe803d713ecc66edbaa.png

  • 1
نشر

بالإضافة للإجابة السابقة، يمكنك تحيك ال legend ليكون خارج الصورة في الناحية التي تريد عن طريق استخدام  bbox_to_anchor() كالتالي:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="whitegrid")
titanic = sns.load_dataset("titanic")
g = sns.factorplot("class", "survived", "sex",
                   data=titanic, kind="bar",
                   size=6, palette="muted",
                   legend=False)
g.despine(left=True)
plt.legend(bbox_to_anchor=(1.02, 1),loc='upper left') # أعلى يسار الصور لكن خارجها
g.set_ylabels("survival probability")

ويكون الخرج:

61c357d76d4c6_Figure2021-12-22185101.png.1d1a658681d411c17be2da52db92ee54.png

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...