|
|
|
|
@ -67,6 +67,24 @@ export const PointChart = ({ point }) => {
|
|
|
|
|
plugins: {
|
|
|
|
|
legend: {
|
|
|
|
|
display: false
|
|
|
|
|
},
|
|
|
|
|
tooltip: {
|
|
|
|
|
displayColors: false,
|
|
|
|
|
callbacks: {
|
|
|
|
|
label: function(context) {
|
|
|
|
|
const label = []
|
|
|
|
|
const shap_key = Object.keys(GRAPH_LABELS_MAP).find(key => GRAPH_LABELS_MAP[key] === context.label);
|
|
|
|
|
const key = shap_key.substring(0, shap_key.length - 5)
|
|
|
|
|
label.push("Значение: \n" + point[key]);
|
|
|
|
|
if (context.parsed.x !== null) {
|
|
|
|
|
label.push("Вклад в прогноз, %: " + context.parsed.x);
|
|
|
|
|
}
|
|
|
|
|
return label;
|
|
|
|
|
},
|
|
|
|
|
body: () => {
|
|
|
|
|
return "Вклад в прогноз, %:"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
scales: {
|
|
|
|
|
@ -78,11 +96,12 @@ export const PointChart = ({ point }) => {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const labels = Object.keys(GRAPH_LABELS_MAP).sort((a, b) => {
|
|
|
|
|
if (Math.abs(point[a]) < Math.abs(point[b])) return 1;
|
|
|
|
|
else return -1;
|
|
|
|
|
}).slice(0, 15);
|
|
|
|
|
labels.map((l) => console.log(l, point[l]))
|
|
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
|
labels: labels.map((l) => GRAPH_LABELS_MAP[l]),
|
|
|
|
|
datasets: [
|
|
|
|
|
|