javascript – 在zingchart中动态更改图表主题不起作用
作者:互联网
我正在尝试使用以下代码动态更改图表主题:
changeTheme(e) {
this.previewService.chartConfig.theme = this.themes[e.target.attributes.value.value];
}
这是我动态更改主题的方式,它反映在图表的json源中,但它没有更新实际主题.
你能告诉我一个有效的例子吗?
请检查这个小提琴.
https://jsfiddle.net/pshiral/30955m70/7/
解决方法:
完全披露,我是ZingChart团队的成员.
主题在我们的图书馆的最高层工作.我们根据主题中的属性以自上而下的方式构建图表的各个部分.因此,您只能在渲染级别设置和更新主题.这意味着您必须销毁图表并将其重新呈现为更改主题.请查看以下内容:
var myConfig = {
type: "bar",
series : [
{
values : [35,42,67,89,25,34,67,85]
}
]
};
zingchart.render({
id : 'myChart',
data : myConfig,
height: 400,
width: 600
});
function changeTheme(e) {
zingchart.exec('myChart','destroy');
zingchart.render({
id : 'myChart',
data : myConfig,
height : 400,
width : 600,
theme: this.id
});
}
document.getElementById('light').addEventListener('click',changeTheme);
document.getElementById('dark').addEventListener('click',changeTheme);
<!DOCTYPE html>
<html>
<head>
<script src= "https://cdn.zingchart.com/zingchart.min.js"></script>
<script> zingchart.MODULESDIR = "https://cdn.zingchart.com/modules/";</script>
</head>
<body>
<div id='myChart'></div>
<button id='light'>Light Theme</button>
<button id='dark'>Dark Theme</button>
</body>
</html>
标签:javascript,charts,zingchart 来源: https://codeday.me/bug/20190611/1219053.html