2016-08-05 9 views
1

私はHighChartで本当に特定のグラフを作成しようとしていますが、私は明確になることを願っています。私は例を与える が、私はこのような各国の票を持っている:ハイチャート|カスタムplotOptions-> series-> dataLabels

  • フランス2はい/いいえ

  • 1イングランド1はい/いいえ

0私は表示する必要がplotOptions-> series-> dataに次のような情報が表示されます:

  • フランスはい:2票/ 66%我々はフランスのために

  • フランス一切合計で3票を持っていないので:1票/ 33%

  • イングランドはい:1票/ 100%私たちはイングランドのために合計で1票を持っているために

  • イングランドいいえ:0票/ 0%

    PHP/symfonyの3/JavaScriptで私はこのようなものでした

$ob->plotOptions->series(
      array(
       'dataLabels' => array(
        'enabled' => true, 
        'formatter' => new Expr('function() { 
          return this.y + "<br/>(" + Math.round(((this.y/'.$numberOfResultsByCountry.') * 100) * 100)/100 + " %)" 
         }') 
       ) 
      ) 
     ); 

それは動作しますが、Calculがが間違っている、フランスのための私の国の関数内の$ numberOfResultsByCountryの変更は、値がイングランドの値が1

それぞれの結果についてどのようにすることができます私は、カスタムdataLabelsで、3ですか?私はdoc(http://api.highcharts.com/highcharts#plotOptions.series.dataLabels)をチェックして、plotOptions-> series-> dataLabelsはここで配列を受け入れないようです。だから私はそれをどうやって行うのか分かりません。

私は自分の問題を明確に説明してくれることを希望します。

TY

+0

私はあなたが「の値として、あなたの総得票数を追加することだと思います'パラメータを使用し、this.point.valueを使用してこのパラメータを探します。この例を見てください:http://jsfiddle.net/m28ob7r7/ –

+0

うわー、私はカスタムthis.point値のような合計のようなことを知りませんでした。ありがとう、これは私が必要としていたものです。私はあなたの答えを受け入れることができる適切な答えを作成することはできますか? – Aximem

+0

私の考えがあなたのために働いたことを読んだことをうれしく思います。私は答えとしてそれを掲示しました。 –

答えて

1

私はあなたの総 'パラメータとして、あなたの総得票数を追加し、this.point.totalを使用して、このパラメータを見つけることができると思います。

$(function() { 
    $('#container').highcharts({ 
    xAxis: { 
     type: 'category' 
    }, 
    series: [{ 
     type: 'column', 
     keys: ['x', 'y', 'total'], 
     data: [ 
     [0, 3, 5], 
     [1, 1, 4], 
     [2, 3, 3], 
     [3, 0, 4] 
     ], 
     dataLabels: { 
     enabled: true, 
     formatter: function() { 
      return this.y + "<br/>(" + Math.round(((this.y/this.point.total) * 100) * 100)/100 + " %)" 
     } 
     } 
    }] 
    }); 
}); 

私は自分のポイントに新しいパラメータを追加するためにキーを使用しています。あなたはここに、このパラメータについての情報を見つけることができます:http://api.highcharts.com/highcharts#plotOptions.series.keysここ

あなたはそれが動作する方法の例を見つけることができます。 http://jsfiddle.net/m28ob7r7/

よろしく、

+0

ありがとうGrzegorz;) – Aximem

関連する問題