Есть ли конкретное название для такого рода диаграмм? В какой библиотеке диаграмм JavaScript он есть?

enter image description here

3
Nabil Sham 27 Ноя 2016 в 21:50

2 ответа

Лучший ответ

Найдите карты дерева / карты дерева . Вот как их описывает Википедия:

«В визуализации информации и вычислениях отображение дерева - это метод отображения иерархических данных с помощью вложенных прямоугольников. […]

Карты дерева отображают иерархические (древовидные) данные как набор вложенные прямоугольники. Каждой ветви дерева дается прямоугольник, который затем выложен меньшими прямоугольниками, представляющими подветви. А прямоугольник листового узла имеет площадь, пропорциональную указанному размер данных. "

Одним из примечательных инструментов, использующих эту технику, является WinDirStat. На их веб-сайте такая визуализация также называется древовидной картой.

Учитывая этот термин, вы сможете легко найти библиотеку JavaScript, которая может их создавать, просто выполнив поиск в Интернете. (Я не могу рекомендовать что-либо из следующего, поскольку я их не использовал, но связанный поиск Google находит jsTreemap, Plotly.js, Google Charts и некоторые другие на самой первой странице результатов.)

Если вам интересно узнать об алгоритмах, стоящих за этими диаграммами, эти статьи могут быть интересны:

4
stakx - no longer contributing 27 Ноя 2016 в 19:21

Это называется древовидной картой и ZingChart - это библиотека диаграмм JavaScript, в которой он есть. Это полезный способ построения диаграмм иерархических данных. Это также позволяет взаимодействовать с пользователем, так как пользователь может продолжить углубление в древовидную карту. Посмотрите демонстрацию ниже.

var myConfig = {
    "graphset":[
        {
            "type":"treemap",
            "plotarea":{
                "margin":"0 0 30 0"
            },
            "tooltip":{
                
            },
            "options":{
                
            },
            "series":[
                {
                    "text":"North America",
                    "children":[
                        {
                            "text":"United States",
                            "children":[
                                {
                                    "text":"Texas",
                                    "value":21
                                },
                                {
                                    "text":"California",
                                    "value":53
                                },
                                {
                                    "text":"Ohio",
                                    "value":12
                                },
                                {
                                    "text":"New York",
                                    "value":46
                                },
                                {
                                    "text":"Michigan",
                                    "value":39
                                },
                                {
                                    "text":"Alabama",
                                    "value":25
                                }
                            ]
                        },
                        {
                            "text":"Canada",
                            "value":113
                        },
                        {
                            "text":"Mexico",
                            "value":78
                        }
                    ]
                },
                {
                    "text":"Europe",
                    "children":[
                        {
                            "text":"France",
                            "value":42
                        },
                        {
                            "text":"Spain",
                            "value":28
                        },
                        {
                            "text":"Switzerland",
                            "value":13
                        },
                        {
                            "text":"Germany",
                            "value":56
                        },
                        {
                            "text":"Cyprus",
                            "value":7
                        }
                    ]
                },
                {
                    "text":"Africa",
                    "children":[
                        {
                            "text":"Egypt",
                            "value":22
                        },
                        {
                            "text":"Congo",
                            "value":38
                        },
                        {
                            "text":"Lesotho",
                            "value":9
                        }
                    ]
                },
                {
                    "text":"Asia",
                    "children":[
                        {
                            "text":"India",
                            "value":92
                        },
                        {
                            "text":"China",
                            "value":68
                        },
                        {
                            "text":"Mongolia",
                            "value":25
                        }
                    ]
                },
                {
                    "text":"South America",
                    "children":[
                        {
                            "text":"Brazil",
                            "value":42
                        },
                        {
                            "text":"Argentina",
                            "value":28
                        },
                        {
                            "text":"Peru",
                            "value":15
                        },
                        {
                            "text":"Uruguay",
                            "value":33
                        }
                    ]
                },
                {
                    "text":"Australia (continent)",
                    "children":[
                        {
                            "text":"Australia (country)",
                            "value":121
                        },
                        {
                            "text":"New Zealand",
                            "value":24
                        }
                    ]
                }
            ]
        }
    ]
};

zingchart.render({ 
	id : 'myChart', 
	data : myConfig, 
	height: 400, 
	width: 600 
});
<head>
		<script src= "https://cdn.zingchart.com/zingchart.min.js"></script>
  <script>zingchart.MODULESDIR = "https://cdn.zingchart.com/modules/";
		ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9","ee6b7db5b51705a13dc2339db3edaf6d"];</script>
	</head>
	<body>
		<div id='myChart'></div>
	</body>

Для получения дополнительной информации о древовидных картах прочтите это сообщение в блоге: https: // blog. zingchart.com/2015/03/10/treemaps-charting/

Отказ от ответственности: я в команде ZingChart. Дайте мне знать, если у вас возникнут вопросы. Спасибо!

3
Elizabeth 28 Ноя 2016 в 16:39