Struts 2 JQuery данные диаграммы загрузки данных с локальными данными
Я хочу загрузить данные диаграммы с локальными данными.
<sjc:chart
id="chartPlaceHolder"
cssStyle="width: 600px; height: 400px;"
pie="true"
pieLabel="true"
dataType="local"
/>
Затем я использовал (как упоминалось в Обновить / Обновить Flot In Javascript)
//This data is created dynamically from a grid when grid completed
var chartData= [
{ label: "Chrome", data: 36.3, color: "#89A54E"},
{ label: "Other", data: 0.8, color: "#3D96AE"}
];
var plot = $.plot($('#chartPlaceHolder'));
plot.setData(chartData);
plot.setupGrid();
plot.draw();
Я получаю исключение jquery aB is undefined
в API jquery
Любые комментарии?!
1 ответ
Вам не хватает двух дополнительных параметров для $.plot()
,
Вы должны прочитать основное использование.
Создайте заполнитель div, чтобы поместить график в:
<div id="placeholder"></div>
Вам нужно установить ширину и высоту этого div, иначе библиотека графика не знает, как масштабировать график. Вы можете сделать это встроенным, как это:
<div id="placeholder" style="width:600px;height:300px"></div>
Вы также можете сделать это с помощью внешней таблицы стилей. Убедитесь, что заполнитель не находится внутри чего-либо с отображаемым свойством: отсутствует свойство CSS - в этом случае у Flot возникают проблемы с измерением размеров надписей, что приводит к искаженному виду, и может возникнуть проблема с измерением размеров заполнителей, что является фатальным (оно выдает исключение).
Затем, когда div готов в DOM, который обычно готов к документу, запустите функцию plot:
$.plot($("#placeholder"), data, options);
Здесь данные - это массив рядов данных, а параметры - это объект с настройками, если вы хотите настроить график. Посмотрите на примеры некоторых идей о том, что вставлять, или посмотрите на ссылку API. Вот быстрый пример, который нарисует линию от (0, 0) до (1, 1):
$.plot($("#placeholder"), [ [[0, 0], [1, 1]] ], { yaxis: { max: 1 } });
РЕДАКТИРОВАТЬ:
Вы можете попробовать ниже код. Это перезагрузка диаграммы с данными после того, как диаграмма была создана без данных.
<sjc:chart
id="placeholder"
cssStyle="width: 600px; height: 400px;"
pie="true"
pieLabel="true">
</sjc:chart>
<script>
$(function(){
var chartData= [
{ label: "Chrome", data: 36.3, color: "#89A54E"},
{ label: "Other", data: 0.8, color: "#3D96AE"}
];
var series = { pie: { show: true }};
var o = {};
o.data = chartData;
o.series= series;
$.struts2_jquery_chart.chart($("#placeholder"), o);
});
</script>