2016-09-22 54 views
0

我試圖修改一個情節以插入自定義圖例。 代碼如下使用flot jquery api的情節中的傳說

$(document).ready(function(){ 
    graph = $('.Graph').plot(formatFlotData(), { 
    colors: [ '#20f', '#00ff4b', '#f00', '#fdff00'], 
    xaxis: { 
     show: false, 
     min : 0, 
     max : res 
    }, 
    yaxis: { 
     min : -50, 
     max : 50, 
     font : { 
        size: 11, 
        lineHeight: 13, 
        style: "italic", 
        weight: "bold", 
        family: "sans-serif", 
        variant: "small-caps", 
        color: "#f2f2f2" 
       }, 
     color : "#f2f2f2" 
    }, 
    grid: { 
     borderColor : "#333", 
     borderWidth : 3 
    } 
}).data("plot"); 

});

的HTML是:

<div class='Graph' style="display : inline-block"></div> 
<div id="legend-container"></div> 

的問題是無論在哪裏我嘗試插入了「傳奇」的聲明,它似乎並沒有工作。 我已經在網格聲明的下方嘗試過了,並在劇本函數的「)」之前加上了「}」之後的逗號。

{legend: { show: true, container: '#legend-container' }} 

答案是:

var options = { 
legend: { 
    show: true,  
    position: "ne",  
    //backgroundColor: "#fdff00", 
    backgroundOpacity: "0", 
    margin: [-50,0] 
    //container: null or jQuery object/DOM element/jQuery expression 
}, ecc 
}; 

$(document).ready(function(){ 
    graph = $('.Graph').plot(formatFlotData(),options).data("plot"); 
}); 
+0

'容器'選項需要是jQuery對象/ DOM元素/ jQuery表達式,而不是字符串 - '$('#legend-container')'應該可以工作。 – mechenbier

+0

@mechenbier不是真的,''#legend-container''就夠了。它算作一個jQuery表達式。 – Raidri

回答

0

container選項需要一個jQuery object/DOM element/jQuery expression

legend: { 
    show: true, 
    container: $('#legend-container') 
} 

JSFiddle有一個工作的例子。

+0

在我的情況下,我不得不添加一個選項var(請參閱問題) – user217354

+0

''#legend-container''就夠了,請參閱他的[小提琴](https://jsfiddle.net/19hm7x69/1/)。 – Raidri