موقع د. عزيز الجعيد
  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

علم البيانات والذكاء الاصطناعي

  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

تصوير البيانات ثلاثي الأبعاد في بايثون Python

30/11/2019 | لغة البرمجة بايثون | شارك بتعليقك

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

In:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

الآن سوف نستعرض بعض طرق التصوير ثلاثي الأبعاد للبيانات والدوال كما يلي:

اولاً: الأعمدة البيانية ثلاثية الأبعاد

ويمكن الحصول على ذلك من خلال الكود التالي:

In:
import numpy as np
import random 

fig = plt.figure(figsize=(10,10))
ax = plt.axes(projection="3d")

x = np.random.randint(1,10,7)
y = np.random.randint(1,10,7)
z = np.zeros(7)
dx = np.ones(7)
dy = np.ones(7)
dz = np.random.randint(1,10,7)

ax.bar3d(x, y, z, dx, dy, dz)
ax.set_xlabel('x',)
ax.set_ylabel('y')
ax.set_zlabel('z');
plt.show()

والذي يعطي الشكل التالي:

ملاحظة: z, y ,x تمثل إحداثيات نقطة ربط الأعمدة البيانية و dz, dy, dx تمثل عرض الأعمدة وعمقها وارتفاعها على التوالي.

ثانياً: التصوير ثلاثي الأبعاد للدوال

للتصوير ثلاثي الأبعاد للدوال نتبع الخطوات التالية:

1. تعريف الدالة، مثلاً:

In:
def f(x, y):
    return x*y

2. تحديد البيانات او القيم التي سوف يتم تصوير الدالة عندها، مثلاً:

In:
x = np.linspace(-5, 5, 30)
y = np.linspace(-5, 5, 30)
x, y = np.meshgrid(x, y)
z = f(x, y)

3. تصوير الدالة باستخدام الكود التالي:

In:
fig = plt.figure(figsize=(10,10))
ax = plt.axes(projection='3d')
ax.plot_surface(x, y, z, rstride=1, cstride=1,
                cmap='viridis', edgecolor='none')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
plt.show()

والذي يعطي الشكل التالي:


مثلاً، باستخدام الطريقة اعلاه يمكن تصوير التوزيع الطبيعي متعدد المتغيرات ( multivariate Gaussian distribution) باستخدام الكود التالي:

In:
from scipy.stats import multivariate_normal

mu = [0, 0]
covariance = [[1, 0], [0, 1]]

x = np.linspace(-3,3,100)
y = np.linspace(-3,3,100)
x, y = np.meshgrid(x,y)
xy = np.empty((100,100,2))
xy[:, :, 0] = x; xy[:, :, 1] = y
mvn = multivariate_normal(mu, covariance)
z=mvn.pdf(xy)

fig = plt.figure(figsize=(10,10))
ax = fig.gca(projection='3d')
ax.plot_surface(x, y,z,cmap='viridis',linewidth=0)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
plt.show()

والذي يعطي الشكل التالي:

 

جميع الحقوق الفكرية لهذا المقال محفوظة © موقع د. عزيز، يمنع إعادة نشره في موقع آخر

مقالات ذات صلة:

  • مقدمة في البايثون Python

    بايثون هي لغة برمجة متعددة الأغراض، تعمل على عدد من المنصات مثل ويندوز (Windows) و ماك (Mac OS X) و لينوكس (Linux).... مقدمة في البايثون Python
    اقرأ المزيد
  • قراءة ملفات البيانات في بايثون Python

    في هذا المقال سوف نستعرض كيف يمكن قراءة ملفات البيانات بأنواعها المختلفة باستخدام لغة البرمجة بايثون. في البداية نحتاج... قراءة ملفات البيانات في بايثون Python
    اقرأ المزيد
  • دوال القائمة (list) في بايثون Python

    تعتبر القائمة (list) احد انواع هياكل البيانات شائعة الاستخدام في في لغة البرمجة بايثون والتي يمكن أن تحوي انواع مختلفة... دوال القائمة (list) في بايثون Python
    اقرأ المزيد

شارك بتعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.

د. عزيز عوض الله الجعيد
دكتوراه في الإحصاء، عالم بيانات، مبرمج، مهتم في التحليل المتقدم، والبيانات الضخمة والذكاء الاصطناعي، لمزيد من المعلومات أضغط هنا

  • YouTube
جميع الحقوق محفوظة © موقع د. عزيز