کتابخانه D3.JS یا همان Data Driven Documents
28 تیر 1398 مقدمه
D3 به شما اجازه میدهد تا دادههای دلخواه را به یک مدل شی سند (DOM) متصل کنید، و سپس تغییرات ناشی از داده را به سند اعمال کنید. به عنوان مثال، میتوانید از روشهای مختلف برای تولید یک جدول HTML از یک آرایه از اعداد استفاده کنید. یا از همان دادهها برای ایجاد نمودار میلهای interactive تعاملی با انتقالهای نرم و تعامل استفاده کنید.
D3، یک چارچوب یکپارچه نیست که به دنبال ایجاد هر ویژگی قابلتصور باشد. در عوض، کنترل اصلی مشکل را حل میکند. دستکاری کارآمد اسناد براساس دادهها. این امر از نمایش اختصاصی اجتناب میکند و انعطاف فوقالعادهای به دست میآورد و قابلیتهای کامل استانداردهای وب مانند HTML، SVG و CSS را آشکار میسازد. با حداقل حجم اضافی، عملکرد بسیار سریعی دارد، از مجموعه دادههای بزرگ و رفتارهای دینامیکی برای تعامل و انیمیشن حمایت میکند. سبک کارکردی اجرایی، امکان استفاده مجدد از طریق مجموعه متنوعی از ماژولهای توسعه یافته و community را فراهم میکند.
خوانندگانی که با چارچوبهای DOM دیگر مانند jQuery آشنا هستند، باید فورا شباهتهای آنها را با D3 تشخیص دهند. با این حال، سبکها، ویژگیها و دیگر ویژگیها را می توان به عنوان توابع دادهها در نظر گرفت، نه فقط ثابت ساده. علی رغم سادگی ظاهری آنها، این توابع میتوانند به طرز شگفت انگیزی قدرتمند باشند؛برای مثال، عملکرد d3.geoPath مختصات جغرافیایی را به داده های مسیر SVG می دهد. D3 بسیاری از توابع مجتمع قابل استفاده مجدد و تابع کارخانه را فراهم می کند، از قبیل مدلهای گرافیکی برای سطح، خط و نمودار دایرهای.
تحول
D3، یک نمایش بصری جدید را معرفی نمیکند. بر خلاف پردازش یا Protovis، واژگان گرافیکی از علامتهای گرافیکی مستقیما از استانداردهای وب مانند HTML، SVG و CSS به دست میآیند. به عنوان مثال، شما میتوانید عناصر SVG را با استفاده از روشهای مختلف ایجاد کنید و آنها را با stylesheets خارجی سبک کنید. شما میتوانید از اثرات فیلتر مرکب، ضربههای سریع و کوتاه کردن برش دار استفاده کنید. اگر شرکت عای مرورگرها خطوط جدید را فردا معرفی کنند، شما قادر خواهید بود فورا از آنها استفاده کنید و هیچ نیازی بههنگامسازی جعبهابزار لازم نیست. و اگر در آینده تصمیم بگیرید که از یک جعبهابزار به غیر از کارتان استفاده کنید، شما میتوانید دانش خود را از استانداردها با شما در نظر بگیرید.
به بهترین شکل، غیرفعال کردن با استفاده از مرورگر عنصر ساختهشده از مرورگر ساده است: گرههایی که شما با آنها دستکاری میکنید، دقیقا همان هایی هستند که مرورگر به طور مجازی درک میکند.
این یک کتابخانه است … اما نه کتابخانه نمودارها
D3، یک کتابخانه "جاوا اسکریپت" است که در آن با دستهای از ابزارهای مفید (یا مولفهها)را فراهم میکند. با این حال این یک کتابخانه نموداریمانند نمودارهای گوگل یا سایت HighCharts نیست که در آن شما میتوانید از یک انتخاب از نمودارها که دادههای خود را به آن متصل میکنید، انتخاب کنید. این باعث میشود که بیشتر درگیر استفاده از چیزی مانند Highcharts شود اما بسیار انعطافپذیرتر است و برای ایجاد دادههای تعاملی تعاملی ایدهآل است
بلوک هایساختمان
فلسفه D3، این است که اگر یک انتخاب بزرگ از اجزا فراهم کند که به ساخت of دادهها کمک میکند. بنابراین به جای ارائه نمودارهای ساختهشده آماده، بلوکهای سازنده برای نمودارها را فراهم میکند.
ادامه دارد...