2012-02-17 70 views

回答

1

首先,你想要一個十字。在API flot中,它實際上給了我們這個功能!

function cross(ctx, x, y, radius, shadow) { 
    var size = radius * Math.sqrt(Math.PI)/2; 
    ctx.moveTo(x - size, y - size); 
    ctx.lineTo(x + size, y + size); 
    ctx.moveTo(x - size, y + size); 
    ctx.lineTo(x + size, y - size); 
} 

因此,這部分很容易。然後,如果你希望能夠滑動圖形周圍,你可以創造一些jQuery UI sliders控制x和y,並將其重新繪製每一個滑塊移動時間:

$('#xslide').slider({ 
    value: 1, 
    min: 0, 
    max: 2, 
    step: 0.1, 
    slide: function(e, ui) { 
     plotSlide([[ui.value, $('#yslide').slider('value')]]); 
    } 
}); 

凡plotSlide做這樣的事情:

function plotSlide(data2) { 
    $.plot($("#chart1"), [{ 
     data: data1}, 
    { 
     data: data2, 
     color: 'red', 
     points: { 
      show: true, 
      symbol: cross 
     }, 
     lines: { 
      show: false 
     } 
    }], 
    options1); 
} 

看到它在這裏的行動:http://jsfiddle.net/ryleyb/2Xn9f/5/

+0

嗯....我已經有滑塊。看我的代碼:http://jsfiddle.net/tmDpZ/9/ 但我無法添加交叉 – David 2012-02-17 17:17:50

+0

因此,當我嘗試添加控制x和y的滑塊的一部分時, ....滑塊消失 – David 2012-02-17 17:25:08

+0

我沒有看到你的新jsfiddle和這個問題之間的關係... – Ryley 2012-02-17 17:28:35