2013-04-10 10 views
9

2つの積重ね棒グラフがありますが、両方のバーのすべての凡例が一緒に表示されます。私は、バーに積み重ねられたアイテムに基づいて凡例をグループ化したいと思います。 誰かが私を助けることができますか?ハイチャートの凡例のグループ化

$(function() { 
     $('#container').highcharts({ 

      chart: { 
       type: 'bar' 
      }, 

      title: { 
       text: 'Total fruit consumtion, grouped by gender' 
      }, 

      xAxis: { 
       categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas'] 
      }, 

      yAxis: { 
       allowDecimals: false, 
       min: 0, 
       title: { 
        text: 'Number of fruits' 
       } 
      }, 

      tooltip: { 
       formatter: function() { 
        return '<b>'+ this.x +'</b><br/>'+ 
         this.series.name +': '+ this.y +'<br/>'+ 
         'Total: '+ this.point.stackTotal; 
       } 
      }, 

      plotOptions: { 
       bar: { 
        stacking: 'normal' 
       } 
      }, 

      series: [{ 
       name: 'John', 
       data: [5, 3, 4, 7, 2], 
       stack: 'male' 
      }, { 
       name: 'Joe', 
       data: [3, 4, 4, 2, 5], 
       stack: 'male' 
      }, { 
       name: 'Jane', 
       data: [2, 5, 6, 2, 1], 
       stack: 'female' 
      }, { 
       name: 'Janet', 
       data: [3, 0, 4, 4, 3], 
       stack: 'female' 
      }] 
     }); 
    }); 

私は同様のタイプのバーを持っています。私はグループとしてジャネットとジェーンをグループ化し、グループとしてジョーとジョンを一緒にグループ化したい。

+0

あなたは2つのチャートを持っていると言うとき、あなたは2点を持つ複数のシリーズを持っている意味ですか?複数のポイントを持つ2シリーズ? 2つの全く異なるチャート? –

+0

これまで使用していたコードを表示できますか? –

+0

これはhttp://jsfiddle.net/cindrella_agi/6gw5P/を参照してください私は同様のタイプのバーを持っています。私はグループとしてジャネットとジェーンをグループ化し、グループとしてジョーとジョンを一緒にグループ化したい。 –

答えて

22

、バージョン3

http://api.highcharts.com/highcharts#plotOptions.series.linkedTo

更新例の 'linkedTo' プロパティ: http://jsfiddle.net/jlbriggs/6gw5P/2/

linkedTo:':previous' 
+0

thats cool。 upvoted。それでも色は混乱します。 –

+0

ええ、私は色を扱う素晴らしい方法はないと思います。私たちはそれをより良くすることができます... http://jsfiddle.net/jlbriggs/6gw5P/4/ – jlbriggs

+0

あなたがあなたの祝福を閉じる限り、確かに:) http://jsfiddle.net/6gw5P/6/ –

0

凡例をスタックでグループ化することはできません。異なるコンポーネントを識別することができなくなります(個別のシリーズには個別の色がないか、凡例の色が一致しません) 。凡例は人々にマップされます。なぜならそれらはすべて別個のデータソースであり、あなたがそれをそのように追加するので、そのように表示されるからです。

異なる色の異なるコンポーネントを気にしない場合は、積み重ねた棒グラフはまったく必要ありません。あなたは男性と女性の2つのシリーズで通常の棒グラフを持つことができます。

新しいシリーズでこれを行うことができ、あなたがにリンクされている参考例に基づいて
series: [{ 
       name: 'Male', 
       data: [10, 7, 8, 9, 7] 
      }, 
       name: 'Female', 
       data: [5, 5, 10, 6, 4] 
      } 
     } 
1

これは古い問題ですが、あなたのシリーズにshowInLegendを設定するとうまくいくと思いますし、最も簡単な方法です。

showInLegend: false 

例:

series: [{ 
name: 'John', 
data: [5, 3, 4, 7, 2], 
stack: 'male', 
showInLegend: false 
} 
+0

これは私が探していた解決策、それ以外のものはあまりにも複雑で、もっと重要なことは、うまくいかなかったことです。しかし、私は凡例に含めるデータポイントに 'showInLegend:true'を含めました。これは完全に機能しました。ありがとうヤコブ! – pshep123