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

السؤال

Recommended Posts

  • 1
نشر

يمكنك القيام بذلك من خلال رسم كل كتلة بيانات ضمن axes محدد ضمن ال figure، حيث نقوم أولاً بتعريف عدد ال Subplots  (والذي يجب أن يطابق عدد الرسوم التي تحتاجها -عدد كتل البيانات-)، ثم نقوم باستخدام الأمر plot مع الوسيط ax لتحديد رقم ال axes، كما يلي:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# إنشاء 4 أطر بيانات مختلفة
df1 = pd.DataFrame(np.random.rand(15,2)*5, columns=['A', 'B'])
df2 = pd.DataFrame(np.random.rand(15,2)*5, columns=['A', 'B'])
df3 = pd.DataFrame(np.random.rand(15,2)*5, columns=['A', 'B'])
df4 = pd.DataFrame(np.random.rand(15,2)*5, columns=['A', 'B'])
# subplots كونه لدينا 4 أطر بيانات سنحتاج إلى 4 
nrow=2
ncol=2
# قم بوضعهم ضمن قائمة
df_list = [df1 ,df2, df3, df4]
# تعريف الشكل والمحاور
fig, axes = plt.subplots(nrow, ncol)
# رسمهم
count=0
for r in range(nrow):
    for c in range(ncol):
        # سنرسنهم عمود عمود
        df_list[count].plot(ax=axes[r,c])
        count+=1

والخرج:
index.png.f7ce7c8eee4e9d29b996642af3054177.png

  • 0
نشر (معدل)

يمكنك تحديد أي عدد من الرسومات تريديها واعطاءها مكاننا بحيث يبدأ عد الرسومات من اليسار الأعلى بحيث يكون الصف الأول هو 0 والثاني 1 وهكذا بينما العمود الأول 0 والثاني 1 وهكذا أيضا.

ويتم تحديد مكان كل رسمة عن طريق زوج من الإحداثيات يمثل مكانها في الصف والعمود، المثال التالي يوضح هذا:

# استدعاء المكتبات
import matplotlib.pyplot as plt
import numpy as np
import math

# الرسم
X = np.arange(0, math.pi*2, 0.05)

# الدوال التي نريد رسمها
Y1 = np.sin(X)
Y2 = np.cos(X)
Y3 = np.tan(X)
Y4 = np.tanh(X)

# تحديد حجم وعدد الرسومات التي نريدها، هنا حددنا عمودين وصفين لتحوي 4 رسومات
figure, axis = plt.subplots(2, 2)

# من أجل دالة السين
axis[0, 0].plot(X, Y1)
axis[0, 0].set_title("Sine Function")

# دالة الكوزين
axis[0, 1].plot(X, Y2)
axis[0, 1].set_title("Cosine Function")

# دالة التان
axis[1, 0].plot(X, Y3)
axis[1, 0].set_title("Tangent Function")

# دالة التان اتش
axis[1, 1].plot(X, Y4)
axis[1, 1].set_title("Tanh Function")

# عرض الرسومات
plt.show()

 

وتظهر هكذا:
Figure2.png.fb5f2864315a1ab5a5ec9e497a927dd0.png

تم التعديل في بواسطة Ahmed Sharshar

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...