簡體   English   中英

傳奇圖例用法

[英]flot legend swatch usage

您好,在此先感謝您的幫助,指導和鼓勵。 我是一個精打細算的人...很大程度上是自學成才並且半成功。

所以這就是挑戰。 我有一個浮點圖,其中有一個自定義的圖例,其中包含色樣,持久色樣(它們不會關閉),數據集切換等所有內容。 但是只有在我可以看到默認圖例的情況下才會顯示色板。 也就是說,如果我將圖例設置為“ show:false”,則色板也不會顯示在我的自定義圖例中。

有沒有辦法關閉/隱藏默認圖例,但仍可以訪問自定義圖例可用的調色板/色板?

這是代碼塊...還有其他一些事情,為了清楚起見,我刪掉了一些...

  var options = {
      yaxis: { min: 0 },
      xaxis: { tickDecimals: 0 },
      xaxes: [{
            axisLabel: 'Frequency (Hz)',
        }],
        yaxes: [{
        position: 'left',
        axisLabel: 'Power (dB)',
        }],
        series: {
                lines: {
                    lineWidth: 2,
                    show: true
                },
                points: {
                    show: false
                }
        },
        legend: {
            container: $("#labeler<?php echo $i ?>"),
            show: true,
            labelFormatter: function(label, series) {

         }
    },
    grid:{
        hoverable: true
       }

     };    

     var track = 0;
    // hard-code color indices to prevent them from shifting as
    // datasets are turned on/off
    var i = 0;
    $.each(datasets, function(key, val) {
        val.color = i;
        ++i;
    });

    // insert checkboxes 
    var choiceContainer = $("#choices<?php echo $i ?>");
     choiceContainer.append('<table><tr>');
    $.each(datasets, function(key, val) {
            track = track + 1;
            if (track == 1){
                choiceContainer.append('<td width=\"100\">Left Channel</td>');
            } else if(track == <?php echo $tracks ?>){
                choiceContainer.append('</tr><tr>');
                choiceContainer.append('<td>Right Channel</td>');
            }
            choiceContainer.append('<td width=\"45\"><input type="checkbox" name="' + key +
                               '" checked="checked" id="id' + key + '">' +
                               '<div style=\"width:18px; white-space:nowrap; float:left\"><bar /></div><label for="id' + key + '">'
                                + val.label + '</label></td>');


    });
    choiceContainer.append('</tr></table>');
    choiceContainer.find("input").change(plotAccordingToChoices);

    function plotAccordingToChoices() {
        var data = [];

        choiceContainer.find("input:checked").each(function () {
            var key = $(this).attr("name");
            if (key && datasets[key])
                data.push(datasets[key]);
        });

         if (data.length > 0){
             $.plot($("#placeholder<?php echo $i ?>"), data, options);
         }
    }
    plotAccordingToChoices();

        $('.legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("bar").eq(i));
        });

從您的代碼中,您似乎將“自定義”圖例附加到flot構建的圖例的克隆中。 如果禁用浮點圖例,則$('。legendColorBox> div')選擇器將找不到要克隆的內容。 您可以修改它並隱藏克隆后的原始flot圖例,或完全刪除對flot圖例的要求。

要隱藏原始圖例,只需執行以下操作:

$('.legend').eq(0).css('display','none');

$.plot調用之后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM