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

تغيير عتامة (شفافية) لون خلفية الرسم البياني باستخدام Matplotlib  في بايثون 

Ali Ismael

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...