HTMLcopy
1
<div id="container"></div>
CSScopy
6
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
JavaScriptcopy
x
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
<meta charset="UTF-8">
5
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6
<title>AnyChart Example</title>
7
<script src="https://cdn.anychart.com/releases/8.10.0/js/anychart-bundle.min.js"></script>
8
<link rel="stylesheet" href="https://cdn.anychart.com/releases/8.10.0/css/anychart.min.css">
9
<style>
10
#container {
11
width: 800px;
12
height: 600px;
13
}
14
</style>
15
</head>
16
<body>
17
18
<div id="container"></div>
19
20
<script>
21
// Definovanie dát pre prvú a druhú sadu
22
var data = [
23
{ articlenumber: "006953042-0000", name: "názov_A1", value: 30 },
24
{ articlenumber: "294851070-0000", name: "názov_A2", value: 34 },
25
{ articlenumber: "004121589-0000", name: "názov_A3", value: 14 },
26
{ articlenumber: "294395733-0000", name: "názov_A4", value: 20 },
27
{ articlenumber: "006988172-0000", name: "názov_A5", value: 6 },
28
{ articlenumber: "294471685-0000", name: "názov_A6", value: 3 },
29
{ articlenumber: "294851070-0000", name: "názov_B2", value: 25 },
30
{ articlenumber: "006953042-0000", name: "názov_B1", value: 34 },
31
{ articlenumber: "294395733-0000", name: "názov_B4", value: 21 },
32
{ articlenumber: "004121589-0000", name: "názov_B3", value: 14 },
33
{ articlenumber: "250268787-0000", name: "názov_B8", value: 6 },
34
{ articlenumber: "294471685-0000", name: "názov_B6", value: 3 }
35
];
36
37
// Vytvorenie zoskupených dát podľa artiklového čísla
38
let combinedData = {};
39
40
data.forEach(item => {
41
if (!combinedData[item.articlenumber]) {
42
combinedData[item.articlenumber] = {
43
nameA: null,
44
valueA: 0,
45
nameB: null,
46
valueB: 0
47
};
48
}
49
50
if (item.name.startsWith("názov_A")) {
51
combinedData[item.articlenumber].nameA = item.name;
52
combinedData[item.articlenumber].valueA = item.value;
53
} else {
54
combinedData[item.articlenumber].nameB = item.name;
55
combinedData[item.articlenumber].valueB = item.value;
56
}
57
});
58
59
// Prevod zoskupených dát na pole
60
let chartData = Object.keys(combinedData).map(key => ({
61
articlenumber: key,
62
nameA: combinedData[key].nameA,
63
valueA: combinedData[key].valueA,
64
nameB: combinedData[key].nameB,
65
valueB: combinedData[key].valueB,
66
x_label: combinedData[key].nameA || combinedData[key].nameB // Alias pre číslo článku
67
}));
68
69
// Vytvorenie grafu
70
anychart.onDocumentReady(function () {
71
var chart = anychart.bar(); // horizontálny barový graf
72
73
// Pridanie prvej série
74
chart.bar(chartData.map(function(item) {
75
return {
76
x: item.x_label, // Zobrazenie aliasu
77
value: item.valueA // Hodnota z prvej sady
78
};
79
})).name("Prvá sada");
80
81
// Pridanie druhej série
82
chart.bar(chartData.map(function(item) {
83
return {
84
x: item.x_label, // Zobrazenie aliasu
85
value: item.valueB // Hodnota z druhej sady
86
};
87
})).name("Druhá sada").fill("#FFAA00"); // Zmeníme farbu pre odlíšenie druhej sady
88
89
// Tooltipy
90
chart.tooltip().format(function() {
91
return 'Článkové číslo: ' + this.getData('x') + '\nHodnota: ' + this.getData('value');
92
});
93
94
// Nastavte tituly
95
chart.title("Príklad grafu AnyChart: Porovnanie hodnot");
96
chart.xAxis().title("Článkové čísla");
97
chart.yAxis().title("Hodnoty");
98
99
// Zobrazenie grafu
100
chart.container("container").draw();
101
});
102
</script>
103
104
</body>
105
</html>