Ali Ismael نشر 28 أكتوبر 2021 أرسل تقرير نشر 28 أكتوبر 2021 كيفية إزالة ال legend من ال plot؟ 1 اقتباس
1 Ali Haidar Ahmad نشر 28 أكتوبر 2021 أرسل تقرير نشر 28 أكتوبر 2021 سأعطيك طريقتين لحذفها، الأولى من خلال استخدام الدالة ()ax.get_legend().remove : import numpy as np import matplotlib.pyplot as plt # تعريف بيانات عشوائية x = np.linspace(-2, 2, 50) y1 = x**3 y2 = x**2 # رسم الدوال fig, ax = plt.subplots() ax.plot(x, y1, c = 'black',label = 'x^3') ax.plot(x, y2, c = 'c',label = 'x^2') # إنشاء صندوق البيانات leg = plt.legend() # حذفه ax.get_legend().remove() plt.show() في حالة وجود أكثر من supplot ، يمكننا أن نذكر الكائن axes المطلوب الذي نريد إزالة ال legend الخاص بك: import numpy as np import matplotlib.pyplot as plt # تعريف بيانات عشوائية x = np.linspace(-2, 2, 50) y1 = x**3 y2 = x**2 # رسم الدوال fig, axs = plt.subplots(2, 1) axs[0].plot(x, y1, c = 'r',label = 'x^3') axs[1].plot(x, y2, c = 'black',label = 'x^2') axs[0].legend(loc = 'upper left') # صندوق بيانات للرسم الأول axs[1].legend(loc = 'upper left') # صندوق للرسم الثاني # سنحذف صندوق البيانات من الرسمة الثانية axs[1].get_legend().remove() plt.show() أو عن طريق الدالة ax.get_legend().set_visible(False) كما في المثال التالي: import numpy as np import matplotlib.pyplot as plt # تعريف بيانات عشوائية x = np.linspace(-2, 2, 50) y1 = x**3 y2 = x**2 # رسم الدوال fig, ax = plt.subplots() ax.plot(x, y1, c = 'black',label = 'x^3') ax.plot(x, y2, c = 'c',label = 'x^2') # إنشاء صندوق البيانات leg = plt.legend() # حذفه ax.get_legend().set_visible(False) plt.show() 1 اقتباس
1 Ahmed Sharshar نشر 28 أكتوبر 2021 أرسل تقرير نشر 28 أكتوبر 2021 يمكنك استخدام matplotlib.axes.Axes.get_legend().set_visible() مع وضع قيمتها ب false لحذفها كالتالي: #استدعاء المكتبات import numpy as np import matplotlib.pyplot as plt #الدوال التي نريد رسمها x=np.linspace(-3,3,100) y1=np.exp(x) y2=3*x+2 #حجم الرسمة fig, ax = plt.subplots(figsize=(8,6)) #اسماء الرسومات ax.plot(x, y1, c='r', label='expoential') ax.plot(x, y2, c='g', label='Straight line') leg = plt.legend() #اخفاء ال legend ax.get_legend().set_visible(False) plt.show() أو استخدام label=_nolegend_ في matplotlib.axes.Axes.plot() كالتالي: #استدعاء الدوال import numpy as np import matplotlib.pyplot as plt x=np.linspace(-3,3,100) y1=np.exp(x) y2=3*x+2 fig, ax = plt.subplots(figsize=(8,6)) leg = plt.legend() #الرسم ax.plot(x, y1, c='r', label='_nolegend_') ax.plot(x, y2, c='g', label='_nolegend_') plt.show() أو استخدام legend_ =None كالتالي: import numpy as np import matplotlib.pyplot as plt x=np.linspace(-3,3,100) y1=np.exp(x) y2=3*x+2 fig, ax = plt.subplots(figsize=(8,6)) leg = plt.legend() ax.plot(x, y1, c='r', label='expoential') ax.plot(x, y2, c='g', label='Straight line') #حذف ال legend plt.gca.legend_ =None plt.show() وفي كل الأحوال تظهر الصورة بدون legend كالتالي: اقتباس
السؤال
Ali Ismael
كيفية إزالة ال legend من ال plot؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.