2016-12-06 3 views
0

Я пытаюсь манипулировать значениями, которые показаны в легенде, когда они курсируют над диаграммой с помощью ChartCursor (я подключил к ней функцию прослушивателя, но не могу найти, как каждый объект показывает каждое текущее значение в легенде):AmCharts: Как получить доступ к значениям, отображаемым в легенде

enter image description here

Я попытался доступом с valueText использования

chart.legend.valueText 

Но если я заменить valueText установленного значения будет иметь место для каждого объекта в легенда. Я хотел бы иметь возможность достигнуть каждого отдельного объекта в легенде и иметь возможность манипулировать значениемText каждого объекта.

Слушатель реализуется в chartCursor:

"chartCursor": { 
     "categoryBalloonEnabled": false, 
     "listeners": [{ 
      "event": "changed", 
      "method": cursorChanged 
     }] 
     }, 

ли кто-нибудь знает, как это сделать?

Спасибо.

ответ

1

Чтобы получить доступ к значениям условных обозначений, вы должны создать valueFunction внутри объекта легенды:

"legend": { 
     // ... 
     "valueFunction": function(graphDataItem, valueText) { 
      //check if valueText is empty. 
      //this only occurs when you're not currently hovered over a value 
      //and if you don't have a periodValueText set. 
      if (valueText !== " ") { 
      //access the current graph's value through the graph.valueField 
      //inside the graphDataItem parameter, 
      //or the string version of the value in valueText and manipulate it accordingly 
      return graphDataItem.dataContext[graphDataItem.graph.valueField]; //current hovered value 
      } else { 
      return valueText; 
      } 
     } 
    }, 

valueFunction вызывается для каждого объекта графа, который имеет видимую легенда маркер.

Demo