2016-09-09 9 views
0

私はNVD3を使用していましたが、オンクリックイベントを追加することに決めました。水平棒グラフを使った例が見つかりました。NVD3チャートでコールバックを使用するには

 vm.qcoptions = { 
       chart: { 
        type: 'multiBarHorizontalChart', 
        //type: 'discreteBarChart', 
        height: 450, 
        margin: { 
         top: 20, 
         right: 20, 
         bottom: 50, 
         left: 55 
        }, 
        x: function (d) { return d.label; }, 
        y: function (d) { return d.value + (1e-10); }, 
        showValues: true, 
        valueFormat: function (d) { 
         return d3.format(',.4f')(d); 
        }, 
        duration: 500, 
        xAxis: { 
         axisLabel: '' 
        }, 
        yAxis: { 
         axisLabel: '', 
         axisLabelDistance: -10 
        }, 
        callback: function (chart) { 
         chart.multibar.dispatch.on('elementClick', function (e) { 
          console.log('elementClick in callback', e.data); 
         }); 

        } 
       } 
      }; 

上記の例multiBarHorizo​​natChartを使用する場合に動作しますが、私はdiscreteBarChartに切り替えたとき、それは私が試してみました

 chart.multibar.dispatch.on('elementClick', function (e) { 

このラインでは、このエラー「未定義のプロパティを読み取ることができません 『派遣』を」スローグラフを検査し、棒グラフのchart.multibarの代わりに何を入れるべきかを決定するが、私は困惑している。誰もこれにどのような光を当てることができますか?

答えて

1

ここでは、個別の棒グラフを参照しています。あなたは次のようにコールバック関数の中でそれを反映する必要があります。

chart.discretebar.dispatch.on('elementClick', function (e) { 
     console.log('elementClick in callback', e.data); 
    }); 

私はあなたが常に適切なプロパティ名を参照するために選択された拡張されたラジオボタンで、このpageを参照してくださいことを示唆しています。

関連する問題