2017-02-10 16 views
0

これは大変です。 enter image description hereハイチャートの縦棒グラフのグループ化

、その後、私の配列内の次のオブジェクト:

enter image description here

今私の目標は、次のようになり縦棒グラフを作成することです:私は、次のオブジェクトの配列を持っています。

私はドキュメントを見てきたと私は見つけることができたすべてが、このようなものだった:

Highcharts demo

問題は、直列に設定dataた値です。配列を挿入すると、すべてのカテゴリに分割されます。私が見る限り、1つのデータシリーズを1つのカテゴリにロックすることはできません。

私の質問は誰もこれの前にこのような何かをして、私を助けることができますか? :)

私の試み:このフィドル以内にしようと

イム:

Highcharts.chart('container', { 
     xAxis: { 
      minPadding: 0.05, 
      maxPadding: 0.05, 
      categories: ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums'] 
     }, 
     series: [{ 
       type: 'column', 
      name: 'Apples', 
      zoneAxis: 'x', 
      data: [ 
       ['First', 29.9], 
       ['Second', 71.5], 
       ['Third', 106.4] 
      ] 
     },{ 
      type: 'column', 
      name: 'oranges', 
      data:[ 
      ['A', 20] 
      ] 
     }] 
    }); 

Fiddle

+0

をそれはANを支援する方が簡単ですあなたの実際のコードのバイブルやや関連性の高いHighchartsのデモではなく、短い答えははいです。あなたは正しい方法で動作するように意図されていませんが、はい、いくつかの操作で必要なものを得ることができるはずです。 – jlbriggs

答えて

1

あり、これをアプローチする多くの方法は、おそらくあり、そして最良のオプションはどのように特定のニーズに依存しますあります。

最初に気になる方法は、データとカテゴリをどのように構造化するかを操作することです。

例:

xAxis: { 
     categories: ['Group 1', 'Group 2', 'Group 3'], 
     labels: { style: { fontWeight: 'bold' } } 
    }, 
    series: [{ 
     name: 'Subset A', 
      data: [{y: 10, name: '1A'}, {y: 5, name: '2A'}, {y: 7, name: '3A'}] 
    }, { 
     name: 'Subset B', 
      data: [{y: 5, name: '1B'}, {y: 3, name: '2B'}, {y: 4, name: '3B'}] 
    }] 

したがって、二つの点で3つのグループそれぞれを想定。あなたは最初のカテゴリはとBグループ1から、第二のカテゴリーは、ポイントB

などグループ2からフィドルを表示するためにポイントを表示したい:

出力:

enter image description here

これまで主な潜在的な欠点は、伝説の表示/非点AまたはB、及びませんが表示されますことを、グループ1、2、または3である

ますそれが問題であればカテゴリを表示/非表示する関数を追加することでこれを回避することができます。

ここで、この質問の答えをチェックアウト:

そして、ここで関連フィドル:

関連する問題