2017-09-04 7 views
0

私はvega-liteをデータ視覚化に使用するReactアプリケーションを持っています。私はベガ(https://github.com/vega/vega-tooltip)のための公式のツールチップのアドオンを使用しようとしましたが、私はリアクションコンポーネントでそれを行う方法がわかりません。Vega-tooltip in Reactアプリケーション

これは私が持っているコンポーネントです。

import React from 'react'; 
import PropTypes from 'prop-types'; 
import VegaLite from 'react-vega-lite'; 

const VegaChart = ({data, spec}) => { 
return(
<div className="vega-chart-wrapper"> 
<VegaLite spec={spec} data={data} /> 
</div> 
) 
} 

VegaChart.propTypes = { 
data: PropTypes.object.isRequired, 
spec: PropTypes.object.isRequired 
} 

export default VegaChart; 

ベガ - ツールチップの文書から、それは私がモジュールをインストールすることができますし、私はこれをしなければならないと述べている:

<!-- Placeholder for my scatter plot --> 
<div id="vis-scatter"></div> 

var opt = { 
    mode: "vega-lite", 
}; 
vega.embed("#vis-scatter", vlSpec, opt, function(error, result) { 
    // result.view is the Vega View, vlSpec is the original Vega-Lite specification 
    vegaTooltip.vegaLite(result.view, vlSpec); 
}); 

このjQueryアプリケーションに統合する標準的な方法のようですが、これはReactコンポーネントでは機能しません。何か案は?

答えて

0

react-vega-liteには、すでにvega-liteが含まれている必要があります。だから、

import * as vega from 'vega-lite';

そして、あなたのVegaChart

+0

componentDidMountに残りを入れいや、これは機能していません。全体のプロセスには、Webコンポーネントの準備ができていない追加の「vega-embed」ライブラリが必要です。そのため、グローバルな「vega」または「vl」変数が必要です。 – stann1