IDDRS/App/static/js/cloud.js
2022-06-27 15:48:56 +02:00

80 lines
2.7 KiB
JavaScript

anychart.onDocumentReady(function () {
// The data used in this sample can be obtained from the CDN
// https://cdn.anychart.com/samples/tag-cloud/programming-languages-and-libraries-by-age/data.json
anychart.data.loadJsonFile(
'/static/json/keyphrase.json',
function (data) {
// add age for each library
for (var i = 0; i < data.length; i++) {
data[i].value = data[i]['rank'];
}
var dataSet = anychart.data.set(data);
var colors = anychart.scales
.linearColor()
.colors(['#000']);
// create tag cloud
var chart = anychart.tagCloud();
// set the mode of the tag cloud
chart.mode("spiral");
// chart.normal().fill("#1fadad");
chart.hovered().fill("#93bfec");
// chart.selected().fill("#1f66ad");
// chart.normal().stroke("#0f5757");
// chart.hovered().stroke("#0f3357");
// chart.selected().stroke("#0f3357");
// chart.normal().fontWeight(600);
// chart.normal().fontSize(12)
// set chart title
chart
.title()
.enabled(true)
.useHtml(true)
.text(
'<h4>Most Frequent Key-Phrases</h4><br/>' +
'<span style="color: #575e64; font-size: 12px;">' +
'Click on words to get results' +
'</span>'
);
// set data with settings
chart
.data(dataSet)
// set color scale
// additional empty space in all directions from the text, only in pixels
.colorScale(colors)
.textSpacing(1)
// set array of angles, by which words will be placed
.angles([-0, 0]);
// get the color range
var colorRange = chart.colorRange();
// enabled color range
colorRange
.enabled(false)
// sets color line size
.colorLineSize(15);
// format tooltip
var tooltip = chart.tooltip();
tooltip.format('Age: {%Value}');
tooltip.enabled(false);
// set container id for the chart
chart.container('wordCloud');
// initiate chart drawing
chart.draw();
// event for point click
chart.listen('pointClick', function (e) {
// open link in new tab
window.open('?phrase='+e.point.get('x'));
});
}
);
});