تصویرسازی داده‌های گرافیکی با استفاده از D3

منتشر‌شده در towardsdatascience به تاریخ ۲۸ آگوست ۲۰۱
لینک منبع Graphical Data Visualization Using D3

کتابخانه D3 یک کتابخانه مصورسازی داده مبتنی بر جاوا اسکریپت است که برای ایجاد مصورسازی داده تعاملی در مرورگر استفاده می‌شود. این معماری بر مبنای HTML L5 و CSS است که باعث می‌شود تصویرسازی حتی پویاتر و جذاب‌تر شود. از مصورسازی دو بعدی و سه‌بعدی پشتیبانی می‌کند. ٰاز آنجا که یک کتابخانه جاوا اسکریپت است، می‌توانیم از آن در هر چارچوبی مانند Angular.JS ، React.JS و غیره استفاده کنیم.

ایجاد تجسم مبتنی بر جاوا در پایتون با استفاده از کتابخانه‌های خاصی امکان پذیر است. یکی از کتابخانه ها MPLD3 است، یک کتابخانه منبع باز پایتون بر اساس D3.JS و در بالای Matplotlib ساخته شده است. از آن برای ایجاد تصویرسازی داده تعاملی استفاده می‌شود.

در این مقاله، ما MPLD3 را بررسی خواهیم کرد و برخی از تصویرسازی‌ها را با استفاده از آن ایجاد خواهیم کرد.

بیایید شروع کنیم …

نصب کتابخانه‌های مورد نیاز

ما با نصب MPLD3 با استفاده از نصب pip شروع می‌کنیم. فرمانی که در زیر داده شده‌است MPLD3 را با استفاده از pip نصب خواهد کرد.

pip install mpld3

وارد کردن کتابخانه‌های مورد نیاز

در این مرحله، ما تمام کتابخانه‌های مورد نیاز برای ایجاد تصویرسازی داده‌های تعاملی را وارد خواهیم کرد.

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import mpld3
from mpld3 import plugins

ایجاد نمودار

اکنون ما شروع به ایجاد انواع مختلفی از نمودارها خواهیم کرد. به طور پیش‌فرض، اگر بخواهیم هر چارت با استفاده از mpld3 تولید شود، باید دستور زیر را اجرا کنیم.

mpld3.enable_notebook()

  1. نمودار حبابی

# Scatter points
fig, ax = plt.subplots()
np.random.seed(0)
x, y = np.random.normal(size=(2, 200))
color, size = np.random.random((2, 200))
ax.scatter(x, y, c=color, s=500 * size, alpha=0.9)
ax.grid(color='lightgray', alpha=0.3)

شکل ۲: نمودار حبابی
شکل ۲: نمودار حبابی

نمودارهای ایجاد شده بسیار تعاملی هستند و می‌توانند با استفاده از گزینه‌های مختلف ارائه‌شده در زیر نمودار کنترل شوند.

۲. هیستوگرام

fig = plt.figure()ax = fig.add_subplot(111, facecolor='#EEEEEE')
ax.grid(color='white', linestyle='solid')x = np.random.normal(size=1000)
ax.hist(x, 30, histtype='stepfilled', fc='lightblue', alpha=0.9);

شکل ۳: هیستوگرام
شکل ۳: هیستوگرام

۳. نمودار خطی

# Draw lines
fig, ax = plt.subplots()
x = np.linspace(-5, 15, 1000)
for offset in np.linspace(0, 3, 4):
ax.plot(x, 0.9 * np.sin(x - offset), lw=5, alpha=0.9,
label="Offset: {0}".format(offset))
ax.set_xlim(0, 10)
ax.set_ylim(-1.2, 1.0)
ax.text(5, -1.1, "Here are some curves", size=18, ha='center')
ax.grid(color='lightgray', alpha=0.3)
ax.legend()

شکل ۴: نمودار خط
شکل ۴: نمودار خط

۴. زیرپلات‌ها

fig, ax = plt.subplots(3, 3, figsize=(6, 6))
fig.subplots_adjust(hspace=0.1, wspace=0.1)
ax = ax[::-1]X = np.random.normal(size=(3, 100))
for i in range(3):
for j in range(3):
ax[i, j].xaxis.set_major_formatter(plt.NullFormatter())
ax[i, j].yaxis.set_major_formatter(plt.NullFormatter())
points = ax[i, j].scatter(X[j], X[i])

plugins.connect(fig, plugins.LinkedBrush(points))

شکل ۵: زیرپلات‌ها
شکل ۵: زیرپلات‌ها

در اینجا شما می‌توانید به وضوح نمودارها و طرح‌های مختلفی که ما با استفاده از MPLD3 ایجاد کردیم را تجسم کنید. تمام این نمودارها بسیار تعاملی و از لحاظ بصری جذاب هستند. این را با مجموعه داده‌های مختلف امتحان کنید و تصویرسازی‌های مختلف ایجاد کنید.

از خواندن شما متشکرم!

این متن با استفاده از ربات مترجم مقاله دیتاساینس ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.
مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.