[英]Update data of existing Highstock graph using only JavaScript
我正在编辑一个站点,但是我无法访问原始代码,我所能做的就是在其末尾附加代码。 我没有使用PHP的权限(我想无论如何我都不需要)。
这是现有的代码:
<div class="highstockchart" data-container="chartContainer" data-metadata-contractno="1" data-yaxis-title-text="kWh">
<div class="chart-serie in" data-serie-data="[4.0,4.0,3.0,4.0,3.0]" data-serie-id="0" data-serie-name="Forbruk" data-serie-pointstart="1424818800000" data-serie-tooltip-decimals="0" data-serie-tooltip-suffix=" kWh" id="chartContainer">
</div>
</div>
<script src="/Modules/Enoro.Standard/scripts/enoro.standard-0.2.8.js" type="text/javascript"></script>
<script src="/Modules/Enoro.Standard/scripts/highstock-1.3.9.js" type="text/javascript"></script>
<script src="/Modules/Enoro.Standard/scripts/highstock.exporting-1.3.9.js" type="text/javascript"></script>
<script src="/Themes/Enoro.Bootstrap/scripts/bootstrapx-clickover.js" type="text/javascript"></script>
<script type="text/javascript">
//HIGHSTOCKCHART
(function () {
var highstockchart = enoro.namespace("orchard.standard.consumption.highstockchart");
highstockchart.defaults = {
chart: {
renderTo: null,
},
credits: {
enabled: false
},
navigator: {
series: {
includeInHtmlTableExport: false
}
},
rangeSelector: {
buttonTheme: {
width: 70,
height: 20
},
inputEnabled: false,
buttons: [
{
type: 'day',
count: 1,
text: 'Dag'
}, {
type: 'week',
count: 1,
text: 'Uke'
}, {
type: 'month',
count: 1,
text: 'Måned'
}, {
type: 'all',
text: 'All'
}
],
selected: 2
},
yAxis: [
{
id: 'yAxis-consumption',
title: {
text: 'kWh'
}
}
],
title: {
text: null
},
series: [
{
id: 'thisyear',
name: null,
data: null,
type: 'spline',
pointStart: null,
pointInterval: 3600 * 1000,
dataGrouping: {
approximation: "sum",
enabled: true
},
tooltip: {
valueDecimals: 1,
valueSuffix: " kWh"
}
}
]
};
}());
(function () {
var consumption = enoro.namespace("orchard.standard.consumption");
consumption.init();
}());
</script>
使用以下代码,我可以从URL检索新数据,但是我不确定如何应用它并重绘图形。 请记住,我无法编辑以上任何代码:
$.getJSON('*url*', function(data) {
// data.data gives the following result: [3.0,2.0,3.0,5.0,8.0]
// How do I apply this data and redraw the graph?
});
当前,该图从属性data-serie-data =“ [4.0,4.0,3.0,4.0,3.0]”绘制值。
如何将data.data应用于图形并重绘?
编辑:
我已经尝试了以下方法,但这不起作用:
highstockchart.series[0].setData(data.data,true);
在/ Meter / Consumption页面上的Chrome控制台中,您应该可以粘贴以下内容,并且应突出显示最高的4个值: http : //pastebin.com/4RzYXcBh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.