svg - 访问 arearange HighCharts 图表中的 svg 元素
问题描述
以下代码的最后一行(从 HighCharts 演示图表页面粗暴地复制)更改了arearange
系列的不透明度:
var chart=Highcharts.chart('container', {
series: [{
name: 'Temperature',
data: averages,
zIndex: 1,
marker: {
fillColor: 'white',
lineWidth: 2,
lineColor: Highcharts.getOptions().colors[0]
}
}, {
name: 'Range',
data: ranges,
type: 'arearange',
lineWidth: 0,
linkedTo: ':previous',
color: Highcharts.getOptions().colors[0],
fillOpacity: 0.3,
zIndex: 0,
marker: {
enabled: false
}
}]
});
chart.series[1].update({fillOpacity:0.7},true);
JSFiddle在这里。
(不透明度可以直接在图表对象内部设置,但我需要在图表创建后修改它,代码是一个玩具示例来模拟我的需求)
我的真实图表有几个arearange
系列,更新它们很繁重。有没有办法修改此类属性以避免该.update
方法?那它,有没有办法直接访问svg
对应arearange
系列的元素?
我已经尝试检查 series.graph
属性,正如之前在对类似问题的回答中所建议的那样,但在这种情况下,arearange
series 没有.graph
属性。
解决方案
它可以与您的问题中提到的答案完全相同,但graph
您必须修改area
属性而不是修改。
代码:
chart.series[1].area.attr({
fill: 'rgba(124,181,236,0.7)'
});
演示:
推荐阅读
- javascript - 在“Promise.then()”中返回一个带有“then”函数的对象
- javascript - 如何水平对齐两个 React 组件?
- routing - Yii2 showScriptName 给我 404s
- c++ - QMetaObject::indexOfMethod() 寻找槽失败
- c# - 无法更改 IBM MQ XMS.NET 客户端重新连接超时
- import - 无法将字体导入 mjml
- javascript - 在页面加载期间无法更改表单子元素的边框颜色
- identityserver4 - UnauthorizedAccessException:对路径 'c:\windows\system32\inetsrv\tempkey.rsa' 的访问被拒绝。”
- c - C语言:在另一个文件中的main.c文件中使用枚举变量和类型定义的麻烦
- maven - 无需从存储库获取依赖项即可自动部署 EAR 项目