2017-11-21 7 views
0

ズームチャートのpie.info.contentsFunctionにカスタム情報を追加する必要があります。私は、ページ上で複数のグラフを持って、それぞれが、私はチャートが時に推移しているかを知る必要があり、「boomChartTT」機能では...そうのようinfo.contentsFunctionにカスタムパラメータを追加

 var pc = new PieChart({ 
      pie: { 
       innerRadius: 0.5, 
      }, 
      container: chartContainer1, 
      area: { height: 500 }, 
      data:chartData, 
      toolbar: { 
       "fullscreen": true, 
       "enabled": true 
      }, 
      info: { 
       contentsFunction: boomChartTT 
      } 
     }); 

を作成しました。私は、「私は」チャートの指数である... ...

info: { 
contentsFunction: boomChartTT(i) 
}  

をこのような何かをできるようにしたいと思います。

グラフのインデックスを知る必要がある理由は、各グラフのインデックス付き配列に他のデータが保存されているためです。グラフのインデックスは、データのインデックスと一致します。

例:ユーザーがchart2でスライスを動かすと、boomChartTT関数に '2'を渡して、そのチャートの合計データにアクセスできます(例:totalsData [2])。

私は私にとても...

<div id="chartContainer1" data-index="1"></div> 

のような指標を与えることを単にチャートコンテナにデータ属性を追加することにより、他のチャートライブラリと、過去にこれをやった...そして私は」 hover関数(contentsFunction)からchartContainerにアクセスし、そのインデックスを取得できます。

冗長な各スライスに追加する必要があるため、合計データを実際のグラフデータに追加したくありません。

これを行う方法はありますか?

投稿が不明な場合は教えてください。

追加するEDITED: 私はそれが重要なのが、ここでboomChartTT機能だとは思わない:私は正しいtotalsDataを取得するために、インデックス(i)を必要とする場所

function boomChartTT(data,slice){ 
    var tt="<div class=\"charttooltip\">"; 
    if(data.name==="Others" || data.name==="Previous"){return tt+=data.name+"</div>";} 
    //var thisData=dataSearch(totalsData[i],"REFERRINGSITE",data.id); 
    tt+="<h5 class=\"strong\">"+data.id+"</h5>"+oHoverTable.render(thisData)+"</div>"; 
    return tt; 
} 

コメント行です。

答えて

0

解決済み。私は単に私がチャートデータにカスタムフィールドを追加すると、グラフを破ることを恐れていた... boomChartTT機能でそのように...

 for(var i=0;i<r.length;i++){ 
      var thisDataObj ={ 
       id:r[i].REFERRINGSITE, 
       value:r[i].PCTOFSALES, 
       name:r[i].REFERRINGSITE, 
       chartIndex: arguments[1],//<----- arguments[1] is the chart index 
       style: { expandable: false, fillColor: dataSearch(dataRSList,"REFERRINGSITE",r[i].REFERRINGSITE)[0].COLOR } 
      }; 
      chartData.preloaded.subvalues.push(thisDataObj); 
     } 

のようなデータに

function boomChartTT(data,slice){ 
    var tt="<div class=\"charttooltip\">"; 
    if(data.name==="Others" || data.name==="Previous"){return tt+=data.name+"</div>";} 
    var thisData=dataSearch(totalsData[data.chartIndex-1],"REFERRINGSITE",data.id); 
    tt+="<h5 class=\"strong\">"+data.id+"</h5>"+oHoverTable.render(thisData)+"</div>"; 
    return tt; 
} 

を「chartIndex」を追加しました(私は他の図書館で経験したと信じています)。だから、そこに行く。