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

السؤال

Recommended Posts

  • 0
نشر

يمكنك استخاد الدالة ax.patch.set_facecolor لتغيير لون خلفية الرسم، والدالة ax.patch.set_alpha لتغيير شفافيتها كما في المثال التالي حيث سنجعل لون الخلفية أسود مع ضبط معامل الشفافية ألفا على 0.5:

import numpy as np
import matplotlib.pyplot as plt
# تعريف بيانات عشوائية
x = np.random.normal(1, 2, 5000)
y = np.random.normal(-1, 3, 2000)
bins = np.linspace(-10, 10, 30)
# الخاص بك axes أخذ غرض يمثل ال 
ax = plt.axes()
# الآن يمكنك استخدام هذه الدالة لتغيير لون خلفية الرسم
ax.patch.set_facecolor('black')
# تغيير شفافية الصورة من خلال المعامل ألفا
ax.patch.set_alpha(0.5)
# هنا فقط لإضافة خطوط شبكة للرسم أي يمكنك تجاهلها
ax.grid(b = True, color ='w',
		linestyle ='-.', linewidth = 0.5,
		alpha = 0.6)
plt.hist([x,y], bins = 15,label=[x,y],color=["red","blue"])
legend = ['Data1','Data2']
plt.legend(legend)
plt.show()

الخرج:
index.png.6453f1d2337a646c14f4f8e8721b5305.png
كما يمكنك استخدام rcParams لتحديد هذه الخصائص لكامل الرسوم في الكود:

plt.rcParams.update({
    "figure.facecolor":  (1.0, 0.0, 0.0, 0.3),  # red   with alpha = 30%
    "axes.facecolor":    (0.0, 1.0, 0.0, 0.5),  # green with alpha = 50%
    "savefig.facecolor": (0.0, 0.0, 1.0, 0.2),  # blue  with alpha = 20%
})

 

  • 0
نشر

تستطيع تغيير درجة شفافية الرسم نفسه عن طريق استخدام alpha من دالة plot كالتالي:

# استدعاء الدوال
import matplotlib.pyplot as plt
import numpy as np
  
# خلق بيانات
x = np.array([-2, -1, 0, 1, 2])
y1 = x*0
y2 = x*x
y3 = -x*x
  
# رسم الدالة وتغيير درجة الشفافية
plt.plot(x, y2, alpha=0.2)
plt.plot(x, y1, alpha=0.5)
plt.plot(x, y3, alpha=1)
plt.legend(["op = 0.2", "op = 0.5", "op = 1"])
plt.show()

ويكون الناتج كالتالي:

op3.png.d3ad3d3907227361886921d8103b0b32.png

يمكنك كذلك جعل لون الخلفية شفافة مثل صور ال png كالتالي:

import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot(range(10))
fig.savefig('temp.png', transparent=True)

يمكنك كذلك التحكم في درجة الشفافية من الدالة patch.set_alpha :

import matplotlib.pyplot as plt

fig = plt.figure()

fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.7)

ax = fig.add_subplot(111)

ax.plot(range(10))

#تحديد اللون ودرجة الشفافية
ax.patch.set_facecolor('red')
ax.patch.set_alpha(0.5)

fig.savefig('temp.png', facecolor=fig.get_facecolor(), edgecolor='none')

plt.show()

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...