javascript - flot legend,如何隐藏并使用彩色瓷砖

标签 javascript jquery css flot

我的流程图有自定义图例,我添加了复选框以允许用户打开和关闭该系列。默认图例必须设置为 true 才能使我的图例具有颜色样本。我感兴趣是否有一种方法可以摆脱默认图例,同时保留自定义图例的颜色样本?下面是一些片段来展示我正在做的事情:

var options = {
    legend: {
        show: true,
        container: legendcontainer,
        noColumns: 2,
        sorted: false
    },
    series: {
        points: {
            show: false
        },
        lines: {
            show: true
        }
    },
    grid: {
        hoverable: true
    },
    xaxes: [{
        axisLabel: 'Frequency (Hz)',
    }],
    yaxes: [{
        axisLabel: 'Power (dB)',
    }],
    crosshair: {
        mode: "xy",
        color: 001,
        lineWidth: .5
    }
};

$.each(results, function(key, val) {
     track = track + 1;
    val.color = i;
    ++i;
    l = val.label; 
     if (track == 1){
        temp.append(row);
        row.append(cell);
        cell.append('Left Channel');
     } else if(track == numtracks){
        row = $('<tr/>');
        temp.append(row);
        cell = $('<td width=\"100\">');
        row.append(cell);
        cell.append('Right Channel');
     } //else if ((track == 7) or (track == 14) or (track == 21) or (track == 28) or (track == 35)){

     //}

        cell = $('<td width=\"70\"/>');
        row.append(cell);
        var bar = $('<div style=\"width:18px; white-space:nowrap; float:left\"><bar />');
        cell.append(bar);
       var inp = $('<input name="' + l + '" id="' + l + '" type="checkbox" checked="checked">');
        cell.append(inp);
        var bits = $('<label>', {
                text: l,
                'for': l
                });
        cell.append(bits); 

    choiceContainer.append(temp);

我尝试过将自定义图例发送到不存在的 div,并将其发送到任意小的 div,但都没有成功。如果我将图例设置为“false”,那么所有样本都会消失,包括我在自定义图例中使用的样本。下面是我当前渲染的图像:

example http://skylinedrifter.homeip.net/2.0/tmp5.jpg

再次感谢专家社区的帮助!

最佳答案

您有两个选择。

一个,在完成构建图例后隐藏flot生成的图例即可。一个简单的:

$('.legend').hide();

应该是您所需要的。

,由于您已经完成了 90%,因此只需完全删除对船队图例的需求即可。颜色“tiles”没有什么特别的,只是 td 中的 div 中的 div

<td>
   <div style="border:1px solid #ccc;padding:1px">
       <div style="width:4px;height:0;border:5px solid rgb(175,216,248);overflow:hidden">
       </div>
   </div>
</td>

只需将 rgb(175,216,248) 替换为该系列的颜色即可。如果您让 flot 自动分配颜色,您可以从绘图对象的系列中获取它们:

var colorArray = $.map(myPlot.getData(), function(s){return s.color});

关于javascript - flot legend,如何隐藏并使用彩色瓷砖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21396200/

相关文章:

javascript - 如何将window.onload附加到jquery中的特定页面

javascript - 如何选中和取消选中HighCharts Linechart中的所有图例元素?

jquery - Highslide JS 字幕(桌面左侧面板)和(移动底部)

html - 事件标签的嵌套 CSS 规则

javascript - 使用 AngularJS 指令修改 Controller 数据

javascript - 非浏览器 JS 库

javascript - 使用 jQuery 处理 SharePoint 中多选选择字段的更改

javascript - 如何正确使用jquery数据表插件

javascript - 如何更改 ion-item 的文本颜色

html - Bootstrap 按钮下拉菜单隐藏在溢出中