首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >dygraphs禁用两个系列的图例

dygraphs禁用两个系列的图例
EN

Stack Overflow用户
提问于 2017-01-31 06:39:48
回答 2查看 873关注 0票数 4

我创建了一个带有图表的网站,为了生成图表,我使用了dygraphs库。图表显示三系列数据(测量值和公差)

如何禁用公差的图例?一个或多个系列的dygraphs图例是否可行?

EN

回答 2

Stack Overflow用户

发布于 2017-02-01 00:03:05

是。如果你使用的是dygraph 2.0或更高版本,你可以用legendFormatter来做这件事。您可以使用legendFormatter自定义图例的格式以满足您的需求。但是,如果您只想隐藏两个系列,最简单的方法是从series数组中删除Min和Max系列,并将其交还给默认格式化程序:

代码语言:javascript
代码运行次数:0
运行
复制
g = new Dygraph(
    document.getElementById("graph"),
    "X,Y,min,max\n" +
    "1,6,3,12\n" +
    "2,3,3,12\n" +
    "3,4,3,12\n" +
    "4,6,3,12\n" +
    "5,8,3,12\n" +
    "6,10,3,12\n" +
    "7,12,3,12\n" +
    "8,10,3,12\n",
    {
      legend: 'always',
      series: {
        min: { color: 'red' },
        max: { color: 'red' },
      },
      legendFormatter: function(data) {
        data.series = [data.series[0]];  // pick whichever series you want to keep
        return Dygraph.Plugins.Legend.defaultFormatter.call(this, data);
      }
    });

参见fiddle

票数 3
EN

Stack Overflow用户

发布于 2019-11-21 15:51:26

您可以使用this函数设置图例的格式-

代码语言:javascript
代码运行次数:0
运行
复制
LegendFormatter(data) {
if (data.x == null) {
  // This happens when there's no selection and {legend: 'always'} is set.
  return data.series.map(function(series) { 
if(series.labelHTML != 'counter_label')
return series.dashHTML + ' ' + series.labelHTML }).join(' ');
}
var html = data.xHTML;
return html;
}

上面的代码将返回除标签为'counter_ label‘的系列之外的所有图例。在代码中进行必要的修改,以便为您的要求应用两个条件。

在定义图表时,请使用以下格式来指定图表:

代码语言:javascript
代码运行次数:0
运行
复制
this.graph = new Dygraph(document.getElementById("graph_div"), 
    this.data,
    {
      legend: 'always',
      drawPoints: true,
      animatedZooms: true,
      showRoller: true,
      rollPeriod: 14,
      legendFormatter: this.LegendFormatter,
    });

这里将根据需要使用legendformatter函数来格式化图例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41946680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档