2012-02-27 2 views
0

내 시각화 프로젝트 (자바 스크립트에서)를위한 "모의 데이터"를 만들고 싶습니다.시각화를위한 가짜 배포 데이터

바람직 I는 정상 또는 로그 정규 일부 확률 분포 함수, 즉 항Y 상이한 그룹화 Z 스텝 간격X 단위의 총 할당하려는.

예 :

가 그룹 0-5000, 5000-10000 정확히 100 단위 할당 [...], 75000-80000 정상 밀도 함수를 사용.

는 다음과 같이 렌더링해야 : (. 내가 간단한 씨앗 매개 변수와 함께 약간의 비대칭을 소개 할 수 있다면, 그것은 보너스 것)

binNames = [ "0-5000", "5000-10000", [...] ] 
binData = [ 0,0,0,1,2,10,12,14,12,10 [...] ] //SUM = 100 

답변

7

D3.js library에는 유용한 도구 인 d3.random.normal (reference, code)이 있습니다. D3을 사용하지 않더라도 함수를 자신의 코드로 복사 할 수 있습니다. 그것은 당신이 제공하는 평균과 표준 편차에 따라 정규 분포를 갖는 난수를 생성하는 생성 함수를 반환합니다. 이 기능을 사용

,이 같은, 당신이 원하는 형식으로 어떤 임의의 데이터를 만들 수 : http://bl.ocks.org/2034281

:
// data generator 
var bins = 16, 
    target = 100, 
    step = 5000, 
    max = bins * step, 
    stddev = max * .15, 
    data = [], 
    generator = d3.random.normal(max/2, stddev), 
    x=0, y=0; 

// set up bins 
while (x++ < bins) data.push(0); 
// add numbers 
while (y++ < target) { 
    // get a new number 
    var number = generator(); 
    // don't allow numbers outside the desired range 
    number = ~~Math.max(0, Math.min(number, max)); 
    // increment the bin 
    bin = ~~(number/max * bins); 
    data[bin]++; 
} 

나는 예로서 약간의 애니메이션 히스토그램을 만든
0

당신이 찾고있는 알고리즘을 kd 트리 또는 트리 맵. kd-tree는 차원 복잡성을 줄입니다. 무료 jquery 트리 맵 avsilable 다운로드가 있습니다.

관련 문제