У меня есть лист Google с простыми двумя колоннами, одна метка, а другая - значения. Мне удалось преобразовать его в json и использовать такие значения в таблицах, используя следующие js
$.getJSON("https://spreadsheets.google.com/feeds/list/1GnakUnNQvFXjuzMSPnBpU9eufb4SooQLGL2oFc3lfAs/od6/public/values?alt=json", function (data) {
var sheetData = data.feed.entry;
var i;
for (i = 0; i < sheetData.length; i++) {
var names = data.feed.entry[i]['gsx$names']['$t'];
var numbers = data.feed.entry[i]['gsx$numbers']['$t'];
}
});
И я хочу использовать его в радиолокационной карте. js, которую мне удалось сделать это работает, но только с жестко закодированными данными
var randomScalingFactor = function() {
return Math.round(Math.random() * 100);
};
var chartColors = {
red: 'rgba(253, 48, 76)',
orange: 'rgb(255, 159, 64)',
yellow: 'rgba(240,236,211)',
green: 'rgb(75, 192, 192)',
blue: 'rgba(42,105,163)',
purple: 'rgb(153, 102, 255)',
grey: 'rgba(48,48,50)'
};
var color = Chart.helpers.color;
var config = {
type: 'radar',
data: {
labels: [
"label1",
"label2", "label3", "label3", "label4", "label5", "label6"
],
datasets: [{
label: "Current level",
backgroundColor: color(chartColors.red).alpha(0.2).rgbString(),
borderColor: chartColors.red,
pointBackgroundColor: chartColors.red,
data: [
95,
65,
74,
87,
70,
78,
93
]
}, {
label: "Goal level",
backgroundColor: color(chartColors.blue).alpha(0.2).rgbString(),
borderColor: chartColors.blue,
pointBackgroundColor: chartColors.blue,
data: [
95,
80,
85,
90,
89,
87,
95
]
}, ]
},
options: {
legend: {
position: 'top',
labels: {
fontColor: 'white'
}
},
title: {
display: true,
text: 'Curent level vs goal',
fontColor: 'white'
},
maintainAspectRatio: false,
scale: {
ticks: {
beginAtZero: true,
fontColor: 'white', // labels such as 10, 20, etc
showLabelBackdrop: false // hide square behind text
},
pointLabels: {
fontColor: 'white' // labels around the edge like 'Running'
},
gridLines: {
color: 'rgba(255, 255, 255, 0.2)'
},
angleLines: {
color: 'white' // lines radiating from the center
}
}
}
};
// A plugin to draw the background color
Chart.plugins.register({
beforeDraw: function(chartInstance) {
var ctx = chartInstance.chart.ctx;
ctx.fillStyle = '#303032';
ctx.fillRect(0, 0, chartInstance.chart.width, chartInstance.chart.height);
}
})
window.myRadar = new Chart(document.getElementById("canvas"), config);
Проблема в том, что я не могу заставить их обоих работать вместе, в некотором смысле, если я добавлю новую строку (метку и значение), она обновится Диаграмма, я пытался заменить часть данных в коде диаграммы переменными, которые я создал (имена и числа), но это не сработало. Кроме того, я планирую использовать его с d3, а не только с графиком. js, а также с добавлением новых столбцов, работает ли он так же?