مثال 69: رسم نمودار سه بعدی موج سینوسی

کتابخانه matplotlib از نمودار های سه بعدی پشتیبانی میکند. در این مثال از یک سری نمونه دیتا برای رسم نمودار سه بعدی موج سینوسی استفاده خواهید کرد:

۱- یک نوت بوک ژوپیتر جدید باز کنید.

۲- حالا کد زیر را در یک سلول جدید وارد و اجرا کنید:

from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
X = np.linspace(0, 10, 50)
Y = np.linspace(0, 10, 50)
X, Y = np.meshgrid(X, Y)
Z = (np.sin(X))
3.# Setup axis
fig = plt.figure(figsize=(7,5))
ax = fig.add_subplot(111, projection='3d')

در کد بالا اول پکیج mplot3d را ایمپورت کرده ایم. این پکیج قابلیت ایجاد نمودار های سه بعدی را با استفاده از یک آبجکت محور به ما میدهد که میتواند یک صحنه سه بعدی را به صورت دو بعدی نشان دهد. سپس دیتای مورد نیاز را آماده کردیم و محور های رسم نمودار را مشخص کردیم.

۳- حالا از فانکشن ()plot_surface برای رسم نمودار سطحی سه بعدی استفاده میکنیم و پس از آن عنوان نمودار و محور های آن را تعیین میکنیم:

ax.plot_surface(X, Y, Z)
# Add title and axes labels
ax.set_title("Demo of 3D Plot", size=13)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')


نکته: همه کد های بالا را همانطور که در تصویر زیر هم نشان داده شده فقط در یک فیلد نوت بوک بنویسید.


کد سلول را دوبار اجرا کنید تا خروجی زیر را دریافت کنید:

ex69.3D plot of demo data using matplotlib

در این مثال با موفقیت توانستیم یک قابلیت خیلی جالب ارائه شده توسط matplotlib را پیاده سازی کنیم، که رسم سه بعدی نمودار ها است و در بصری سازی ها با پایتون اضافه شده است.