编程语言
首页 > 编程语言> > javascript – 在zingchart中动态更改图表主题不起作用

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