آموزش رسم نمودار با Highcharts (جلسه 44) - نمودار درختی - قسمت 1

- visibility ٠ mode_comment

در این جلسه با ادامه موضوع مربوط به رسم نمودار با Highcharts در خدمتتون هستم. highcharts

نمونه اول : نمودار درختی ساده

در این نمونه میخایم یک نمونه نمودار رو در اختیارتون قرار بدیم داده ها در اون بصورت درختی یا Tree map نمایش داده میشن. باید از این نوع نمودار ها زیاد دیده باشید، برای دیدن نمودارهای بیشتر میتونین این لینکو ببینید. کل کدهای مربوط به این نمونه رو در اختیارتون میزارم و بعد براتون توضیح میدم:

میبینید که علاوه بر فایل اصلی Highchart، فایلهای treemap.js و heatmap.js قرار داده شده است. فایل heatmap.js رو به این دلیل وارد کردیم که بتونیم با استفاده از اون از قدرت رنگها و همچنین نوار رنگی راهنمای پایین نمودار بهره ببریم.

میبینید که در ابتدا کدی بصورت زیر قرار داده شده:

با استفاده از این کد نوار رنگی راهنمایی که در پایین نمودار قرار داره رو تنظیم کردیم و گفتیم که از یک رنگ سفید تا یک رنگ تقریبا آبی بصورت گرادیانی تغییر کنه.

اصلی ترین کد این نمونه در بالا قرار داده شده و میبینید که نوع نمودار برابر با درختی یا treemap قرار داده شده و ویژگی layoutAlgorithm برابر با squarified قرار داده شده. این ویژگی مقادیر دیگه ای رو هم دریافت میکنه که در نمونه های بعدی اونا رو خواهید دید. با استفاده از این ویژگی میتونین الگوریتم قالب بندی و کنار هم قرار گرفتن بلاک ها رو مشخص کنید. همونطور که میبینید و از اسم ویژگی squarified هم معلومه اونا رو تا جای ممکن بصورت مربع نمایش میده. میبینید که درون ویژگی Data مقادیر مختلف قرار داده شده و برای هر کدام از دسته ها یک value یا مقدار قرار داده شده. این نمودار در ابتدا همه این مقادیر رو با هم جمع میکنه و بعد از اون بصورت درصدی هر کدوم از دسته ها رو نشون میده و هر چه مقدار یک دسته بزرگتر باشه، مقدار بیشتری از نمودار به اون دسته اختصاص داده میشه. خروجی بصورت زیر خواهد بود:Tree map highcharts

نمونه دوم : نمودار درختی سطح دار

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

کد اصلی این نمونه در زیر قرار داده شده:

همونطور که میبینید نوع این نمودار در ابتدا برابر با درختی قرار داده شده و ویژگی layoutAlgorithm اون برابر با stripes قرار داده شده. با این کار نمودار بصورت راه راه افقی نمایش داده میشه. میبینید که درون ویژگی levels یکبار دیگه فقط برای سطح اول و ابتدایی نوع قالب بندی رو برابر با sliceAndDice قرار داده. درون ویژگی data هم دسته مقادیر متفاوتی قرار داده شده و به اونایی که در سطح اول هستن یک id داده شده و به بقیه که در این موارد قرار میگیرن، با استفاده از خصوصیت parent به عنصری که میخان درونش قرار بگیره، آدرس میدن. خروجی بصورت زیر خواهد بود:tree map chart level

امیدوارم از این مطلب خوشتون اومده باشه.

موفق و پیروز باشید

یا علی

Source

comment دیدگاه کاربران

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.