Javascript amCharts:禁用图例中某些项目的切换

Javascript amCharts:禁用图例中某些项目的切换,javascript,amcharts,Javascript,Amcharts,我使用系列的工具提示在同一工具提示中显示图表的所有系列值 series1.tooltipText= '[bold]{dateX}[/]\\nSeries1Label: {series1}\\nSeries2Label: {series2}\\nSeries3Label: {series3}'; series2.tooltip.disabled = true; series3.tooltip.disabled = true; 但是我需要一种方法来禁用具有工具提示的系列的切换,因为禁用该系列也会使

我使用系列的工具提示在同一工具提示中显示图表的所有系列值

series1.tooltipText= '[bold]{dateX}[/]\\nSeries1Label: {series1}\\nSeries2Label: {series2}\\nSeries3Label: {series3}';
series2.tooltip.disabled = true;
series3.tooltip.disabled = true;
但是我需要一种方法来禁用具有工具提示的系列的切换,因为禁用该系列也会使工具提示消失

如amCharts文档所示,您可以,但这是一个适用于整个图表的选项:

chart.legend.itemContainers.template.clickable = false;

如果我只需要对一个系列禁用它,而对另一个系列保持启用切换,该怎么办?有办法吗?

您可以在
图例容器上添加命中事件侦听器

编辑:在
点击
事件中添加了
隐藏
事件。现在<代码>营销< /COD>传奇总是显示下面的图例被点击切换(关闭代码后的事件>代码< >代码>事件不堆积),考虑以下内容:

am4core.useTheme(am4themes\u动画);
am4core.useTheme(am4themes_dataviz);
//创建图表实例
var chart=am4core.create(“chartdiv”,am4charts.XYChart);
//添加数据
chart.data=[{
“国家”:“立陶宛”,
“研究”:501.9,
“营销”:250,
“销售”:199
}
, {
“国家”:“共和国”,
//“研究”:301.9,
“营销”:222,
“销售”:251
}
];
//创建轴
var categoryAxis=chart.yAxes.push(新的am4charts.categoryAxis());
categoryAxis.dataFields.category=“国家”;
categoryAxis.title.text=“当地国家办事处”;
categoryAxis.renderer.grid.template.location=0;
categoryAxis.renderer.minGridDistance=20;
var valueAxis=chart.xAxes.push(新的am4charts.valueAxis());
valueAxis.title.text=“支出(M)”;
//创建系列
var series=chart.series.push(新的am4charts.ColumnSeries());
series.dataFields.valueX=“研究”;
series.dataFields.categoryY=“国家”;
series.name=“研究”;
series.tooltipText=“{name}:[粗体]{valueY}[/]”;
series.stacked=true;
series.columns.template.column.adapter.add(“cornerRadiustoplft”,cornerRadius1);
series.columns.template.column.adapter.add(“cornerRadiusBottomLeft”,cornerRadius1);
series.columns.template.column.adapter.add(“cornerRadiusBottomRight”,cornerRadius);
series.columns.template.column.adapter.add(“cornerRadiusTopRight”,cornerRadius);
var series2=chart.series.push(新的am4charts.ColumnSeries());
series2.dataFields.valueX=“营销”;
series2.dataFields.categoryY=“国家”;
series2.name=“营销”;
series2.tooltipText=“{name}:[粗体]{valueY}[/]”;
series2.1=真;
series2.columns.template.column.adapter.add(“cornerRadiustoplft”,cornerRadius1);
series2.columns.template.column.adapter.add(“cornerRadiusBottomLeft”,cornerRadius1);
series2.columns.template.column.adapter.add(“cornerRadiusBottomRight”,cornerRadius);
series2.columns.template.column.adapter.add(“CornerRadiusToRight”,cornerRadius);
var series3=chart.series.push(新的am4charts.ColumnSeries());
series3.dataFields.valueX=“销售”;
series3.dataFields.categoryY=“国家”;
series3.name=“销售”;
series3.tooltipText=“{name}:[粗体]{valueY}[/]”;
series3.1=真;
series3.columns.template.column.adapter.add(“cornerRadiustoplft”,cornerRadius1);
series3.columns.template.column.adapter.add(“cornerRadiusBottomLeft”,cornerRadius1);
series3.columns.template.column.adapter.add(“cornerRadiusBottomRight”,cornerRadius);
series3.columns.template.column.adapter.add(“CornerRadiusToRight”,cornerRadius);
//添加光标
chart.cursor=新的am4charts.XYCursor();
功能转弯半径(半径,项目){
var dataItem=item.dataItem;
//查找此堆栈中的最后一个系列
var系列;
//console.log(chart.series)
图表系列各功能(系列){
if(dataItem.dataContext[series.dataFields.valueX]&&&&!series.isHidden&&!series.isHiding){
lastSeries=系列;
}
});
//如果当前系列是一个,请使用圆角
dataItem.component==lastSeries?100:半径;
//console.log(数据项)
返回dataItem.component==lastSeries?10:半径;
}
功能角半径1(半径,项目){
var dataItem=item.dataItem;
var系列;
var标志=假;
图表系列各功能(系列){
if(dataItem.dataContext[series.dataFields.valueX]&&&&!series.ishiden&&!series.isHiding&&!标志){
lastSeries=系列;
flag=true;
}
});
dataItem.component==lastSeries?100:半径;
返回dataItem.component==lastSeries?10:半径;
}
chart.legend=新的am4charts.legend();
chart.legend.itemContainers.template.events.on(“命中”,函数(ev){
series2.events.on(“隐藏”,函数(){
序列2.show();
系列2.事件关闭(“隐藏”);
});
//log(“单击”+ev.target.dataItem.name);
});
正文{
字体系列:-苹果系统、BlinkMacSystemFont、“Segoe UI”、Roboto、Helvetica、Arial、无衬线、“苹果颜色表情”、“Segoe UI表情”、“Segoe UI符号”;
字号:9pt;
}
#沙特迪夫{
宽度:100%;
高度:401px;
}

@dolma33这是否回答了您的问题?