2017-05-27 71 views
1

enter image description here我已经构建了一个图表,其中我正在显示图例。最初,我们总结了这个值并在图例中显示。但我需要为特定的图例显示'N/A'。如果我将鼠标悬停在图表上,我们应该显示该值。下面我附上了我所做的代码。如何在amchart中显示特定图例的值?

'legend': { 
      'markerType': 'circle', 
      'periodValueText': 'total: [[value.sum]]', 
      'labelText': '[[title]] :', 
      'valueText': '[[value]]', 
      'valueWidth': 80, 
      'valueFunction': function(legendData, valueText) { 
         var id = (typeof legendData.id !== 'undefined') ? legendData.id : legendData.graph.id; 

         if (id === 'D1' || id === 'D2') { 

          return valueText === '0' ? 'N/A' : valueText ; 
         } 

         return valueText; 
        } 
       }, 

我使用了一个valuefunction显示N/A值是否0.But最初我应该显示N/A用于ID D1和D2。

回答

1

您应该使用legendData属性中的values属性将逻辑基于何时在悬停时显示N/A或当您将鼠标移出图表时何时显示N/A。这将检测显示哪些值更易于管理。

以下是如何为默认“N/A”为D1和D2对小鼠,并且当没有鼠标光标存在于初始负载:

legend: { 
    // ... 
    valueFunction: function(legendData, valueText) { 
     //values is available on mouseover 
     if (legendData.values) { 
     var id = legendData.graph.id; 

     if (id === "D1" || id === "D2") { 
      return valueText === "0" ? "N/A" : valueText; 
     } 
     } 
     //initial value when no mouse cursor is present or on mouseout 
     else if (legendData.id === "D1" || legendData.id === "D2") { 
     return "N/A"; 
     } 

     return valueText; 
    } 
    }, 

Demo

+0

谢谢,@xorspark,我已经实现代码和它的工作很好。 – user3062437