0

我想通过在图表上单击鼠标来更新我的 cvs 文件,就像我通过从同一个 cvs 文件中读取数据来创建图表一样,当我得到图表时,我想要的是每当我点击一个点时,它就会产生那个点在 y 轴上等于 0,并将 cvs 文件中的相应值更新为 0。

请有人帮忙。这是我的代码,它可以从 cvs 文件中获取值,但不会更新,但如果我采用硬编码的数组系列,相同的代码可以正常工作。
不明白为什么这些情节选项不起作用。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"     "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Highcharts Example</title>


<!-- 1. Add these JavaScript inclusions in the head of your page -->
<script type="text/javascript"         src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="../js/highcharts.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../js/excanvas.compiled.js"></script>
<![endif]-->


<!-- 2. Add the JavaScript to initialize the chart on document ready -->
<script type="text/javascript">
$(document).ready(function() {


var options = {

chart: {
renderTo: 'container',
defaultSeriesType: 'line'},

title: { text: 'Output'},

xAxis: { categories: []},

yAxis: {
title: { text: 'Units'} },

plotOptions: {
series: { cursor: 'pointer',
point: {
events: { click: function() {
var y = this.item(y);
var x = this.x;

chart.series[0].data[x].update(y -= y);} } } },
series: []
};


$.get('testFile.csv', function(data) {
// Split the lines
var lines = data.split('\n');
$.each(lines, function(lineNo, line) {
var items = line.split(',');
var series = {
data: []
}; 
$.each(items, function(itemNo, item) {
series.data.push(parseFloat(item));

});

options.series.push(series); });

var chart = new Highcharts.Chart(options);
});
});
</script>
</head>
<body>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/data.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="width: 1400px; height: 400px; margin: 0 auto"></div>
</body>
</html>
4

1 回答 1

0

您可以捕获点击点操作http://api.highcharts.com/highcharts#plotOptions.series.point.events.click然后使用通过 ajax 从 csv 获取新值并使用 update() 函数http://api.highcharts .com/highcharts#Point.update()

于 2013-04-17T09:49:15.013 回答