Для выполнения примера необходимо наличие на html-странице ссылок на файлы сценариев PP.js, PP.GraphicsBase.js, PP.TagCloud.js и файл стилей PP.css, в теге <body> html-страницы элемента <div> с идентификатором «tagCloud». В событие onload тега <body> необходимо добавить вызов функции createTagCloud(). Добавим на html-страницу облако меток:
function createTagCloud() {
// Данные для создания облака меток
data = new PP.DataSource({
Title: "DataSource",
AttributesNames: {
color: "Color",
size: "Size",
value: "Value"
},
Series: {
"Tag1": {
color: {
Items: [10.0]
},
size: {
Items: [50]
}
},
"Tag2": {
color: {
Items: [20.0]
},
size: {
Items: [60]
}
},
"Tag3": {
color: {
Items: [30.0]
},
size: {
Items: [30]
}
},
"Tag4": {
color: {
Items: [40.0]
},
size: {
Items: [40]
}
}
}
});
scales = new PP.ScaleBase({
Id: "Scale0",
Values: [10.0, 20.0, 30.0, 40.0, 50.0],
Items: ["#FFFF462C", "#FFEBAF36", "#FFFFD900", "#FFB1CA40", "#FF6A8535"],
EnableEquality: false,
NoData: "#FFBFBFBF",
TypeArguments: "Brush"
});
color = new PP.ColorVisual({
ColorMapping: new PP.DataMapping({
DataSource: null,
DimAttributeId: "color",
Type: "Scale",
Index: 0,
DataSource: data,
Scale: scales
})
});
size = new PP.SizeVisual({
NumericMapping: new PP.DataMapping({
DimAttributeId: "size",
Type: "None",
Index: 0,
DataSource: data
})
});
// Создаем облако меток
tagCloud = new PP.Ui.TagCloud({
// Устанавливаем родительский элемент
ParentNode: document.getElementById("tagCloud"),
// Устанавливаем визуализаторы
Visuals: { ColorVisual: color, SizeVisual: size },
// Устанавливаем размеры облака меток
Width: 500,
Height: 300,
// Устанавливаем метки
ItemsNames: { Tag1: "Метка 1", Tag2: "Метка 2", Tag3: "Метка 3", Tag4: "Метка 4" },
// Устанавливаем источник данных
DataSources: [data],
// Устанавливаем признак движения меток по зажатию кнопки мыши
IsDragControl: true,
// Устанавливаем возможность масштабирования с помощью колесика мыши
IsWheelZoom: true,
// Устанавливаем сортировку элементов
SortItems: true
});
// Устанавливаем цилиндрическую форму разброса элементов
tagCloud.setShape("Cylinder");
}
В результате на страницу будет добавлено облако меток:

Выводим список заголовков элементов, которые содержаться в облаке меток:
// Выводим заголовки элементов:
console.log("Элементы: ");
var items = tagCloud.getItemsNames();
for (i in items) {
console.log(items[i]);
}
В результате в консоль будут выведены заголовки элементов облака меток:
Элементы:
Метка 1
Метка 2
Метка 3
Метка 4
См. также: