0
Я попытался построить динамические данные в диаграмме с приведенным ниже кодом, но я получаю те же данные. потому что последние данные подавляют первый (один над другим).Динамические данные графика в диаграмме
<script type="text/javascript">
var unities = <%-JSON.stringify(unities) %>;
var data = <%-JSON.stringify(data) %>;
var dataTracer = {};
var arrayDate = [];
var arrayData = [];
var arrayDataTracer = [];
unities.forEach(function(docUnity){
data.forEach(function(docData) {
if(docUnity.unity == "date"){
arrayDate.push(docData[docUnity._id]);
}});
});
unities.forEach(function(docUnity){
if(docUnity.unity != "date" && docUnity.type_cumul == "simple" && docUnity.archiver == 0) {
dataTracer["x"] = arrayDate;
dataTracer["name"] = docUnity.unity;
dataTracer["type"] = 'scatter';
data.forEach(function(docData) {
arrayData.push(docData[docUnity._id]);
});
dataTracer["y"] = arrayData;
alert(dataTracer);
arrayDataTracer.push(dataTracer);
}
});
Plotly.newPlot('myDiv', arrayDataTracer);
</script>
Таким образом, результат
И когда я ожидаю результатов, я создаю больше переменных, как этот
<script type="text/javascript">
var unities = <%-JSON.stringify(unities) %>;
var data = <%-JSON.stringify(data) %>;
var dataTracer = {};
var dataTracer2 = {};
var arrayDate = [];
var arrayData = [];
var arrayData2 = [];
var arrayDataTracer = [];
unities.forEach(function(docUnity){
data.forEach(function(docData) {
if(docUnity.unity == "date"){
arrayDate.push(docData[docUnity._id]);
}});
});
unities.forEach(function(docUnity){
if(docUnity.unity == "Objectif"){
dataTracer2["x"] = arrayDate;
dataTracer2["name"] = docUnity.unity;
dataTracer2["type"] = 'scatter';
data.forEach(function(docData) {
arrayData2.push(docData[docUnity._id]);
});
dataTracer2["y"] = arrayData2;
alert(dataTracer2);
arrayDataTracer.push(dataTracer2);
}
});
unities.forEach(function(docUnity){
if(docUnity.unity == "Resultat"){
dataTracer["x"] = arrayDate;
dataTracer["name"] = docUnity.unity;
dataTracer["type"] = 'scatter';
data.forEach(function(docData) {
arrayData.push(docData[docUnity._id]);
});
dataTracer["y"] = arrayData;
alert(dataTracer);
arrayDataTracer.push(dataTracer);
}
});
Plotly.newPlot('myDiv', arrayDataTracer);
</script>
проверки Оператор IF в первом: если (docUnity.unity = "Дата" && docUnity.type_cumul == "simple" && docUnity.archiver == 0) Я не вижу его во втором? – kollein
IF в первом для глобального теста, во втором я заменяю его только для теста. это хорошо с этим утверждением. –
показать Структура данных Переменная? – kollein