3

Web アプリケーション用の散布図 3D コンポーネントを探しています。現在、私はJMathPlot (Java アプレット内) を使用して、次のようなものを生成しています。

代替テキスト http://jmathtools.berlios.de/lib/exe/fetch.php?media=scatterplot3d.png

JMathPlot は問題ありませんが、必要な機能がいくつかありません (プロット ポイントのツールチップに特に関心があります)。

代替手段はありますか?インタラクティブな Web テクノロジ (javascript、java アプレット、フラッシュ、Silverlight) は問題ありません。ユーザーは、マウスをポイントの上に置いたときに、プロットを回転/ズームし、ツールチップを表示できる必要があります。

4

6 に答える 6

3

ActionScript 、_ _ _ _ _ VB.NET または C# を使用すると、このようなチャートを自分で簡単に作成できます。

Flash のバージョン 10 には、単純な「3D エンジン」が組み込まれています。

Flash Player 10 では、x、y、および z 軸上の 2D サーフェスを xyz 平行移動および xyz 回転できます。Flash Player 10 は、3D のような効果を作成するために設定した遠近法とカメラ アングルも表示します。

おそらく、自分ですばやく構築するために必要なのはこれだけです。

JMathPlot はオープン ソースであるため、ニーズに合わせて採用することも選択肢の 1 つです。

于 2009-09-19T22:43:06.247 に答える
2

キャンバスタグを使用するというJamesBlackの提案は非常に優れていますが、IEで更新されていないブラウザが必要です。それともそうですか?グーグルのおかげで、IE内でChromeレンダラーを使用できるようになります。このようにして、動的グラフでHTML5対応のブラウザー(Gecko、Webkit、およびPresto)をターゲットにし、IEユーザーにGoogleのアドオンがリリースされたらインストールするように依頼します。IE以外のすべてのネイティブサポートと、IE用のGoogleのExplore Canvasプラグインcanvasのおかげで、クロスブラウザで動作します。IE用のいくつかのプラグインのおかげでクロスブラウザでもサポートを利用できます。IE用のChromeレンダラーが必要な場合は、他に何も必要ないことに注意してください。SVG

グラフを使用するcanvassvg、実行することができます。また、実行するためのライブラリがすでにいくつかあります。どちらのテクノロジーでも動的グラフを作成できますが、いくつかの異なるアプローチがあります。

SVG                                        キャンバス
-------------------------------------------------- -----------------------------
シーンDOMがあります(ただし、SVG DOM)単一のHTML要素、
                                           スクリプト駆動型のレンダリング
形状の取引ピクセルの取引
HTML(XHTMLではない)と混合するのはやや難しい両方で画像のように動作します
イベント処理が簡単イベント処理が難しい

動的ラベルを追加するのは非常に簡単なので、やりたいことをやろうと思いますがSVG、疑似3D散布図用の真に柔軟なAPIを作成するのは難しいでしょう。

問題svgは、非常に柔軟な言語を作成しようとすると、非常に複雑な言語になることです。ここでは、同じことを行う両方のライブラリで記述されたコードを見ることができます。

SVG

var rect = document.createElementNS(SVG_NS, "rect");
rect.setAttribute("x", "5");
rect.setAttribute("y", "5");
rect.setAttribute("width", "20");
rect.setAttribute("height", "20");
rect.setAttribute("fill", "red");
parent.appendChild(rect);

var poly = document.createElementNS(SVG_NS, "polygon");
poly.setAttribute("fill", "green");
poly.setAttribute("points", "-40,40 0,-40, 40,40");
parent.appendChild(poly);

キャンバス

with (ctx) {
  fillStyle = "red";
  fillRect(5, 5, 20, 20);
}

with (ctx) {
  fillStyle = "green";
  beginPath();
  moveTo(-40, 40);
  moveTo(0, -40);
  moveTo(40, 40);
  closePath();
  fill();
}
于 2009-09-23T17:14:29.103 に答える
2
于 2009-09-19T23:09:14.157 に答える
1

埋め込まれたフラッシュ オブジェクト

FlashAndMath には、この種の興味深いライブラリがいくつかあります。

http://www.flashandmath.com/advanced/contours/combo.html

于 2010-03-31T10:25:08.310 に答える
0

canvas タグを使用してこれを行うだけで、IE を除く更新されたブラウザーの場合、他の html タグと同様にイベントがあるため、ツールチップを取得できます。

Excanvas を使用して IE のほとんどの機能を取得できますが、テキストを描画する運がありませんでした。

これはライブラリではありませんが、javascript を使用して html で作業する機能を提供します。

于 2009-09-23T04:34:11.807 に答える
0

canvasXpress の 3D 散布図は、JavaScript と Canvas の代替手段を提供します。http://canvasxpress.org/scatter3d.html

于 2012-08-11T06:50:14.930 に答える