У меня есть точечная диаграмма Highchart, которая отображает данные, рассчитанные с использованием сценария PHP.Значения передаются в скрипт PHP через функцию jQuery .get и возвращаются в шаблон ExpressionEngine.Код PHP, который я использую, выглядит примерно так:
printf("{x:'%3.2f',y:'%3.2f',fillColor:'#058DC7'},",$annualReturns[2] * 100.0,$annualSemiStDev[2]);
printf("{x:'%3.2f',y:'%3.2f',fillColor:'#50B432'},",$annualReturns[3] * 100.0,$annualSemiStDev[3]);
printf("{x:'%3.2f',y:'%3.2f',fillColor:'#ED561B'},",$annualReturns[4] * 100.0,$annualSemiStDev[4]);
Вернувшись в шаблон ExpressionEngine, данные сразу же перетаскиваются в библиотеку Highcharts через функцию JavaScript (некоторые данные поступают в PHPскрипт компилируется другой функцией JavaScript), которая создает диаграмму рассеяния Highcharts.
updateScatterChart(data);
Вот где я сталкиваюсь с моей проблемой.Данные должны отображаться, как и ожидалось:
series: [{
name: 'Custom',
data:[ DATA NEEDS TO LIVE HERE ]
}]
Чтобы убедиться, что я получаю правильные данные, непосредственно внутри функции updateScatterChart я отображаю результаты в окне предупреждения - используя alert(data)
- и я получаю это:
{x:'12.48',y:'3.52',fillColor:'#058DC7'}
{x:'34.82',y:'16.11',fillColor:'#50B432'}
{x:'8.32',y:'9.35',fillColor:'#ED561B'}
, которое при вставке в мой блок data[]
отображает мою диаграмму разброса, как и ожидалось.Итак, мои данные хорошие.Этот вставленный блок кода выглядит следующим образом:
series: [{
name: 'Custom',
data:[
{x:'12.48',y:'3.52',fillColor:'#058DC7'}
{x:'34.82',y:'16.11',fillColor:'#50B432'}
{x:'8.32',y:'9.35',fillColor:'#ED561B'}
]
}]
Точка подключения, которую я пропускаю, - это получение возвращенных данных для вывода непосредственно в блок data:[]
.
Я довольно новыйв PHP и в меньшей степени в JavaScript, но переключение таких языков (перемещение данных из PHP в JavaScript) все еще немного выходит за рамки моей базы знаний.