こんにちはもう一度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/
ガイダンス、アドバイス、および/またはヘルプは非常に高く評価されています。
ここには埋め込まれていないコードのJSFiddleがあります:https://jsfiddle.net/tyuxy5ug/ – Novadar