2017-03-28 12 views
1

こんにちはもう一度Stackoverflow。通常の場合と同様に、最初の問題を修正すると、別のものが得られます。昨日私は に関するD3ビジュアライゼーションの実装に関する質問を投稿しました。私の質問は、Sparta93によって甘やかされた答えになりました(おそらくあなたもこのことを助けることができます)。D3 Javascript - ネストされた関数で発生する可能性のある問題 - コンソールエラーが発生する

私が指摘したように、実際にはD3 Vizをパッケージ化されたアプリケーションであるOracle Big Data Discovery(BDD)に埋め込みました。 BDDは、ビジュアライゼーション レンダラを使用してグラフを表示します。これは(コードの全体の体は読書やレビューを容易にするため、以下のリンクJSフィドルである)チャート関数内であることをJSブロックが必要です。

renderChart: function(queryResults) { 

私はそれが というエラーを生成するコードを実行すると、 Stratifyは関数ではありません。

Uncaught TypeError: d3.stratify is not a function 
at S.renderChart (script:44) 
at S.executeQueryCallback (eval at globalEval (barebone.jsp:4), <anonymous>:1:3460) 
at S.handleResize (eval at globalEval (barebone.jsp:4), <anonymous>:1:3751) 
at constructor.resizeListener (eval at globalEval (barebone.jsp:4), <anonymous>:1:17193) 
at Object.run (eval at globalEval (barebone.jsp:4), <anonymous>:1:16634) 
at i (barebone.jsp:32) 

コードを並べ替えて最初にクラスターを配置すると、同様のエラーが発生します。

「renderChart:function(queryResults)」の内部にあるという事実に関連していると思われます。私はDBA、ビッグデータとBIの男だから私の JSのスキルはかなり控えめです。おそらくそれを動作させるのに十分なほどのコードを一緒にハッキングした可能性があります。私は、BDDで作業するほうがはるかに単純です。 はエラーではありません。しかし、サブ関数はありません

コードは期待通りに動作します(Sparta93のおかげで)。 「通常の」コンテキストで動作するグラフ:https://jsfiddle.net/hb4oLy2x/

すべてのコードを簡単に投稿できるように、フィドルです。サーバー側のBDDビジュアライゼーションレンダラーに依存するため、実行されません。私は、問題と思われる要素の周りにいくつかのコメントを置いた。 BDDのコンテキストでチャートが機能しない(これは問題のコードです):https://jsfiddle.net/sx7oaput/

ここで私はd3 v4のURIを削除したフィドルです。面白いことに、コンソールにも同様のエラーが発生します。エラーをシミュレートするチャートコード(おそらく偶然かもしれません):https://jsfiddle.net/u48o39k2/

ここでは、コードを簡単に共有するための別のフィドルです。これにより、棒グラフとHTMLテーブルがBDDで正常にレンダリングされます。 BDDのコンテキストで動作するグラフ:https://jsfiddle.net/j7r9f743/

ガイダンス、アドバイス、および/またはヘルプは非常に高く評価されています。

答えて

0

私はいくつかの視覚化が実際に機能していたことを知っていたので、他の行動措置を見てみました。私はこのコードをオンラインで見つけました。個々の部分を抽出して作業コードの置換えをテストしたとき、私はそれを動作させました。

var tree = d3.layout.tree() 
.size([360, diameter/2 - 80]) 
.separation(function(a, b) { return (a.parent == b.parent ? 1 : 10)/a.depth; }); 

var diagonal = d3.svg.diagonal.radial() 
    .projection(function(d) { return [d.y, d.x/180 * Math.PI]; }); 

http://codepen.io/anon/pen/xItvw

"CAPTAIN ANONYMOUS" コードペン(笑)の著者に感謝します。

+0

ここには埋め込まれていないコードのJSFiddleがあります:https://jsfiddle.net/tyuxy5ug/ – Novadar

関連する問題