JS问题

怎么获取chart图的系列名,我想通过系列名去实现系列的显示与隐藏,这个可以实现吗

图片.png

我的这个JS也不能获取所有的系列名,求各路大神指点一下

理想三旬 发布于 2020-1-9 12:33
1min目标场景问卷 立即参与
回答问题
悬赏:6 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
qhlLv6中级互助
发布于2020-1-9 13:34

我测试了一下,这样就可以满足你的需求了

setTimeout(function() {
	var vanchart = FR.Chart.WebUtils.getChart("chart0").vanCharts.charts[0];
	//vanchart.setSeriesVisible([0]); //显示柱形图的系列1  
	var l = vanchart.series.length;
	var ser = new Array(l);
	var show1;
	var flag = false;
	for (var i = 0; i < l; i++) {
		if (vanchart.series[i].name == showSer) {
			//alert(showSer);
			show = [i];
			flag = true;
		}
		ser[i] = i;
	}
	//alert(show);
	if (flag) {
		vanchart.setSeriesVisible(show);
	} else {
		vanchart.setSeriesVisible(ser);
	}

}, 1000);

image.png

最佳回答
0
孤陌Lv6资深互助
发布于2020-1-9 12:38(编辑于 2020-1-9 13:03)

系列名 而不是系列的序号??

如何获取图表对象-https://help.finereport.com/doc-view-2114.html 看这个 

var PieChart=FR.Chart.WebUtils.getChart("A1").getChartWithIndex(2);
var points = [];
PieChart.series.forEach(function (ser){
    points = points.concat(ser.points);
})
points = points.filter(function (p){ return p.value > 0.1; })

把P.VALUE>0.1

修改成p.seriesName==你要的系列名称

应该是可以的

image.png

  • 理想三旬 理想三旬(提问者) 是的,因为参数面板有筛选条件,导致每次的系列个数不同,所以想通过系列名来控制,这个能实现吗
    2020-01-09 12:43 
  • 理想三旬 理想三旬(提问者) 我测试发现还是没有用,他返回的是object
    2020-01-09 13:08 
  • Poseidon Poseidon 回复 理想三旬(提问者) 继续循环打印啊,或者打断点看这个obj是啥东东啊;多自己动手试试
    2020-01-09 13:21 
最佳回答
0
619172745Lv6初级互助
发布于2020-1-9 14:06(编辑于 2020-1-9 14:23)

var val = FR.Chart.WebUtils.getChart("A1").getChartWithIndex(0);

var val1 = val.series;

$.each( val1, function(i, n){

  alert( "Item #" + i + ": " + n.options.name );

});

亲试,可以获取到系列的名称,希望可以帮到你

ceshi.cpt


  • 理想三旬 理想三旬(提问者) 谢谢大佬的答案,我按照楼上的方法解决了,谢谢了
    2020-01-09 14:31 
  • 5关注人数
  • 1115浏览人数
  • 最后回答于:2020-1-9 14:23
    请选择关闭问题的原因
    确定 取消
    返回顶部