答案 0 :(得分:1)
是。如果您使用的是dygraphs 2.0或更高版本,则可以使用legendFormatter
执行此操作。您可以使用legendFormatter
自定义图例的格式。但是,如果您只想隐藏两个系列,最简单的方法是从series
数组中删除Min和Max系列,并将其移回默认格式化程序:
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。
答案 1 :(得分: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”的系列除外。对代码进行必要的修改,以根据您的要求应用两个条件。
在定义图形时,请使用以下格式指定图形:
this.graph = new Dygraph(document.getElementById("graph_div"),
this.data,
{
legend: 'always',
drawPoints: true,
animatedZooms: true,
showRoller: true,
rollPeriod: 14,
legendFormatter: this.LegendFormatter,
});
在这里,legendformatter函数将用于根据需要格式化图例。