在高图表中设置自定义图例项符号(或图标)
Set custom legend item symbol (or icon) in HIghcharts
我正在尝试将默认的高图表图例符号更改为我自己的自定义符号。我希望在图例标签旁边有一个字体很棒的图标。为此,Iv'e想到了标签格式化器:
labelFormatter: function () {
var on = '<g><text x="0" y="0" style="color:'+this.color+';font-family:FontAwesome"></text></g> ' + this.name;
var off = '<g><text x="0" y="0" style="color:'+this.color+';font-family:FontAwesome"></text></g> ' + this.name;
return this.iconState ? on : off;
}
这实际上让我可以根据需要添加图标,但现在我的问题是:单击图例项时,图标保持原始颜色,不会像标签那样变为灰色。Iv'e 考虑过在触发点击事件时重新渲染图例(使用 legendItemClicked(,但我没有找到任何可行的方法。
有谁知道如何管理重新渲染图例?
或
怎么可能将符号设置为我自己的符号?
谢谢!
您可以通过将此信息添加到Highcharts交易品种数组来定义自定义交易品种,如示例中所示:
Highcharts.SVGRenderer.prototype.symbols.cross = function (x, y, w, h) {
return ['M', x, y, 'L', x + w, y, 'z'];
};
if (Highcharts.VMLRenderer) {
Highcharts.VMLRenderer.prototype.symbols.cross = Highcharts.SVGRenderer.prototype.symbols.cross;
}
http://jsfiddle.net/nhx59/2/
或使用图像 http://www.highcharts.com/demo/spline-symbols
还有另一种方法。在我的标签格式化程序中,我返回一个包含我的图像的 html 字符串,具有唯一的类名或 id。
现在,我在plotOptions.column.events或plotOptions.line.events下侦听legendItemClick事件,然后找到我的元素并添加一个css类,该类具有不透明度,如下所示:.dullImage {
opacity: 0.4;
filter: alpha(opacity=40); /* msie */
}
在legendItemClick中,传递事件对象,您可以查看 event.currentTarget.name(查找图例名称(和event.currentTarget.isDirty 以确定单击此对象是否禁用或启用图例。
- Javascript更改图标
- 单击更改图标并通过javascript添加一个css类
- 在.csv文件中写入学位符号
- 使用相同的数据集绘制各种符号
- 我希望只有在我滚动页面后才能显示我的返回页首图标
- 如何更改角度谷歌地图上的集群图标
- 将带点符号的属性(有时)传递给函数
- RegEx JavaScript:数字后的符号提取
- simpleweather js天气图标
- 更改图层中单个矢量特征的图标
- 如何在计算器符号为零时替换它
- 使用Angular单击时更改特定图示符图标的颜色
- 加载图像时加载图标
- 从引导程序图标十六进制值输出一个符号
- SVG-精灵:符号转换为单个SVG图标
- 表情符号、带有原始图标的文本区域和带有替换图标的文本字段
- 在高图表中设置自定义图例项符号(或图标)
- 如何使下拉箭头(插入符号图标引导)更改单击
- 谷歌地图动画符号(在到达路径的目的地后停止图标)
- 在引导链接中单击插入符号图标不起作用