در این مقاله قصد داریم تا یک نمودار مختصات محور و به طور خاص، نقشه ایران را رسم کنیم و اطلاعات جمعیتی استانها را به عنوان نمونه در این نقشه نشان دهیم.
ابزار مورد استفاده در این نمودار، کتابخانه observable plot میباشد که به طور پیشفرض در داده نگار، پشتیبانی میشود. این کتابخانه، توانایی این را دارد که با پذیرفتن فایل مختصاتی یا geojson ، نقشه مربوط به آن را رسم کند.
در ابتدا فایل مختصات نقشه ایران را وارد میکنیم. دقت داشته باشید که این فایل یا سایر فایل های مربوط به نقشه کشورها و ... در اینترنت موجود است.
ابتدا فایل نقشه ایران را import میکنیم. که مشابه عکس پایین میباشد.
(در صورت نیاز میتوانید آموزش نحوه وارد کردن فایل داده را در این قسمت، مشاهده کنید)
سپس فایلی که حاوی اطلاعات مورد نیاز ما است را وارد میکنیم. به طور مثال، این فایل شامل اطلاعات جمعیتی استانهای ایران است که به فرمت زیر میباشد.
سپس برای راحتی کار، نیاز به یک مرحله تمیزکاری داده و مرتب کردن داده داریم. این مرحله بسته به ماهیت دادههای ما میتواند متفاوت باشد یا در صورت تمیز و مرتب بودن دادههای ما، اصلا انجام نشود.
همان طور که مشاهده میکنید، فایل داده جمعیتی ما شامل آرایهای از آبجکتهاست که هیچ آبجکتی در آن به طور مستقیم در دسترس نیست. (اعداد 0 و 1 و ... که در عکس میبینید مربوط به ویژگی jsonviewer داده نگار است و در داده اصلی وجود ندارد.). به همین منظور، map ای تولید میکنیم که هر استان به طور مستقیم با شناسه آن، مورد دسترسی قرار گیرد. که شکل نهایی آن به صورت زیر است.
در ادامه، کد اصلی را مشاهده میکنیم:
تابع geo وظیفه رسم نقشه ایران را بر عهده دارد. در اینجا 2 بار مورد استفاده قرار گرفته است. در قسمت اول، فقط نقشه ایران را به همراه مرز های استانها رسم میکند.
همچنین به کمک تابع text با استفاده از فایل نقشه و تابع centroid و با پیکربندی پارامتر text، نام استانها را به نقشه اضافه میکند.
که خروجی آن به این شکل است:
اما در استفاده دوم از تابع geo با استفاده از تابع centroid ، اطلاعات هر استان را رسم میکنیم.
کانفیگ fill که یک تابع است، بر روی هر کدام از مشخصه های فایل مختصاتی ما اعمال می شود و ما در اینجا برای مقداردهی جمعیت، از آبجک map ای که ساختیم، استفاده می کنیم
خروجی نهایی به شکل زیر می باشد
برای مطالعه توضیحات کاملتر، پیشنهاد میشود که به مستندات مرجع در این قسمت مراجعه کنید.