gpt4 book ai didi

javascript - 向空人力车图表添加数据

转载 作者:行者123 更新时间:2023-11-30 08:51:38 26 4
gpt4 key购买 nike

我正在使用 RickshawJS 绘制不同的数据图表。但是我需要一种方法来在用户单击 #search 按钮时更新图表。现在它只是在旧图表下方创建一个新图表,这非常困惑。

用户进入页面,输入一些细节,点击按钮绘制图表。所以理想情况下,我想从一个未显示的空图表开始,但我真的不知道如何从图表和轴中删除数据然后更新它。

我可以在图表和轴上调用 $('#chart svg').remove(); 但它看起来很乱。

$('#search').click(function(event){
event.preventDefault();

var data = utils.malletData();
var graph = new Rickshaw.Graph( {
element: document.querySelector("#chart"),
width: 800,
height: 250,
series: [ {
name: data['name'],
color: 'steelblue',
data: data['series']
} ]
} );
graph.render();

var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph,
xFormatter: function(x) {
var date = new Date(x).getTime();
return moment(x).format('MMMM Do YYYY, h:mm:ss a');
},
yFormatter: function(y) { return Math.floor(y) + " users" }
} );

var xAxis = new Rickshaw.Graph.Axis.X( {
graph: graph,
orientation: 'bottom',
element: document.getElementById('x_axis'),
tickFormat: function(x) { return moment(x).fromNow(); },
ticks: 7,
tickSize: 1,
} );
xAxis.render();

var ticksTreatment = 'glow';
var yAxis = new Rickshaw.Graph.Axis.Y( {
graph: graph,
orientation: 'left',
tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
ticksTreatment: ticksTreatment,
element: document.getElementById('y_axis'),
} );
yAxis.render();
});

最佳答案

没有正式的方法可以这样做。但是,您可以利用 javascript 中的数组通过引用传递的事实,然后更新图形。

看看这个demo on fiddle

var data = [
{
data: [ { x: 0, y: 120 }, { x: 1, y: 890 }, { x: 2, y: 38 }, { x: 3, y: 70 }, { x: 4, y: 32 } ],
color: "#c05020"
}, {
data: [ { x: 0, y: 80 }, { x: 1, y: 200 }, { x: 2, y: 100 }, { x: 3, y: 520 }, { x: 4, y: 133 } ],
color: "#30c020"
}
];


var graph = new Rickshaw.Graph( {
element: document.getElementById("chart"),
renderer: 'line',
height: 300,
width: 800,
series: data
} );

var y_ticks = new Rickshaw.Graph.Axis.Y( {
graph: graph,
orientation: 'left',
tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
element: document.getElementById('y_axis'),
} );

graph.render();


$('button#add').click(function() {
data.push({
data: [ { x: 0, y: 200 }, { x: 1, y: 390 }, { x: 2, y: 1000 }, { x: 3, y: 200 }, { x: 4, y: 230 } ],
color: "#6060c0"
});
graph.update();
});

关于javascript - 向空人力车图表添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com