2015-04-25 2 views
3

Я работаю с amcharts, и я попытался пометить пули на графике значениями, которые у них есть. Поэтому я создал массив в javascript и передал ему значения из базы данных. Зеленый - это просто ценность для тестирования.AMCharts Как окрасить пули по значению?

var chartData = [ 
     <?php 
     foreach($tmp as $row) 
      { 
      echo'{"Wahrscheinlichkeit":'.$row[3].',"Schaden":'.$row[4].',"value":1,"Beschreibung":"'.$row[2].'", "Color":"Green"},'; 
      } 
     ?> 
    ]; 

Здесь я создаю диаграмму:

chart = new AmCharts.AmXYChart(); 
chart.dataProvider = chartData; 

Здесь рисую график:

var graph = new AmCharts.AmGraph(); 
      graph.valueField = "value"; // größe der Kugeln 
      graph.xField = "Wahrscheinlichkeit"; 
      graph.yField = "Schaden"; 
      graph.maxBulletSize=20; 
      graph.lineAlpha = 0; 
      graph.bullet = "circle"; 
      graph.bulletColor= "[[Color]]"; 
      graph.balloonText = "Wahrscheinlichkeit:<b>[[x]]</b> Schaden:<b>[[y]]</b><br>Beschreibung:<b> [[Beschreibung]]</b>" 
      chart.addGraph(graph); 

В точке "bulletcolor" Я пытаюсь получить цвет из массива, но это не сработает.

chart.write("chartdiv"); 

Глядя вперед получать советы и помощь от вас

ответ

2

«bulletColor» не может ссылаться на поля в данных, как это.

Вместо этого используйте "lineColorField":

http://docs.amcharts.com/3/javascriptcharts/AmGraph#lineColorField

т.е .:

var graph = new AmCharts.AmGraph(); 
graph.valueField = "value"; // größe der Kugeln 
graph.xField = "Wahrscheinlichkeit"; 
graph.yField = "Schaden"; 
graph.maxBulletSize=20; 
graph.lineAlpha = 0; 
graph.bullet = "circle"; 
graph.lineColorField = "Color"; 
graph.balloonText = "Wahrscheinlichkeit:<b>[[x]]</b> Schaden:<b>[[y]]</b><br>Beschreibung:<b> [[Beschreibung]]</b>" 
chart.addGraph(graph); 
+0

Это единственный способ сделать это с AmXYChart, спасибо! – Kivylius

Смежные вопросы