문제

웹 응용 프로그램을위한 산점도 3D 구성 요소를 찾고 있습니다. 지금은 사용 중입니다 jmathplot (자바 애플릿 내부) : 이와 같은 것을 생산합니다.

대체 텍스트 http://jmathtools.berlios.de/lib/exe/fetch.php?media=scatterplot3d.png

jmathplot은 괜찮지 만 필요한 기능이 누락되었습니다 (특히 플롯 포인트에 대한 툴팁이있는 데 관심이 있습니다).

대안이 있습니까? 대화식 웹 기술 (JavaScript, Java Applet, Flash, Silverlight)은 괜찮습니다. 사용자는 마우스를 한 지점 위로 마우스로 가져갈 때 플롯을 회전/축소하고 툴팁을 볼 수 있어야합니다.

도움이 되었습니까?

해결책

실버 라이트를위한 몇 가지 간단한 3D 엔진이 있습니다 (예 : http://www.markdawson.org/kit3d/ 또는 http://www.codeplex.com/axeleratesl3d) 및 플래시 (여기에 나열하십시오) actionscript, vb.net 또는 c#을 알고 있으면 그러한 차트를 직접 만들 수 있어야합니다.

Flash의 버전 10도 있습니다 간단한 "3D 엔진"내장:

Flash Player 10을 사용하면 X, Y 및 Z 축에서 2D 표면의 XYZ 번역 및 XYZ 회전이 가능합니다. Flash Player 10은 또한 3D 유사 효과를 만들기 위해 설정 한 원근과 카메라 각도를 표시합니다.

아마도 당신이 그것을 직접 만들기 위해 필요한 전부 일 것입니다.

Jmathplot이 오픈 소스이므로 필요에 따라 채택하는 것이 또 다른 옵션이 될 수 있습니다.

다른 팁

당신은 또한 조사하고 싶을 수도 있습니다 처리. 기성품 구성 요소가 없을 수도 있지만 웹에는 수천 개의 좋은 소스 코드 예제가 있습니다.

제임스 블랙의 제안 캔버스 태그를 사용하려면 매우 좋은 태그이지만 IE가 아닌 업데이트 브라우저가 필요합니다. 아니면? Google 덕분에 IE 내에서 크롬 렌더러를 사용할 수 있습니다.. 이렇게하면 동적 그래프를 사용하여 HTML5 활성화 브라우저 (Gecko, WebKit 및 Presto)를 대상으로하고 IE 사용자에게 IE가 나오면 Google의 추가를 설치하도록 요청합니다. canvas Everything Nonie 및 Google의 기본 지원 덕분에 크로스 브라우저 작업 캔버스를 탐험하십시오 IE 용 플러그인. SVG 지원은 크로스 브라우저도 사용할 수 있습니다 감사해요 에게 일부 플러그인 IE를 위해. IE를 위해 크롬 렌더러가 필요한 경우 다른 것이 필요하지 않습니다.

당신도 할 수 있습니다 사용 canvas 또는 svg 그래프를 수행합니다, 그리고 이미 도서관이 있습니다. 두 기술 모두 동적 그래프를 만들 수 있습니다, 그러나 그들은 몇 가지 다른 접근법을 가지고 있습니다.

SVG                                        캔버스
-------------------------------------------------------------------------------
Has scene DOM (SVG DOM, though)            Single HTML element, 
                                           rendering script-driven
Deals in shapes                            Deals in pixels
Somewhat hard to mix with HTML (not XHTML) Behaves like an image in both
Event handling easy                        Event handling hard

나는 함께 갈 것이라고 생각합니다 SVG 동적 라벨을 추가하는 것이 간단하기 때문에 원하는 것을 수행하려면 Pseudo 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();
}

Embedded flash object

FlashandMath에는 이런 종류의 흥미로운 라이브러리가 있습니다.

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

캔버스 태그 로이 작업을 수행 할 수 있으며 IE를 제외한 업데이트 된 브라우저의 경우 다른 HTML 태그와 마찬가지로 이벤트가 있으므로 툴팁을 얻을 수 있습니다.

excanvas를 사용하여 IE에서 대부분의 기능을 얻을 수 있습니다. 텍스트를 그리는 운이 없었습니다.

라이브러리는 아니지만 JavaScript와 함께 HTML에서만 작동하는 기능을 제공합니다.

Canvasxpress의 3D 산점도는 JavaScript 및 Canvas 대안을 제공합니다. http://canvasxpress.org/scatter3d.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top