2015-01-12 3 views
0

내 데이터는 값 슬라이더에 추가하여 연도를 동적으로 변경하기 위해 중첩됩니다. 하나의 항목은 다음과 같습니다.딤플 특정 축 변수 값

key: "dot1" 
values: Array[3] 
[0]: Object 
    x: 3 
    y: 2 
[1]: Object 
    x: 2 
    y: 5 
[2]: Object 
    x: 3 
    y: 5 
key: "dot2" 
etc... 

그래프에 값을 액세스 할 수있는 방법이 있습니까? 뭔가 같이 :

var chart = new dimple.chart(svg, rawData); 
chart.setBounds(90, 35, 480, 325) 
var myyAxis = chart.addMeasureAxis("y", "values[0][y]"); 
var myxAxis = chart.addMeasureAxis("x", "values[0][x]"); 
chart.addSeries(["key"], dimple.plot.bubble); 
chart.draw(1000); 

답변

0

당신은 측정 속성으로 계산 된 문자열을 추가 할 수 없기 때문에 이러한 목표를 달성하기 위해 내가 아는 가장 쉬운 방법은 내부 배열을 평평하게 데이터를 포맷, 그래서 대신

http://jsbin.com/rijuvoneyu/1/edit?js,output

:
key: "dot1" 
values: Array[3] 
[0]: Object 
    x: 3 
    y: 2 
[1]: Object 
    x: 2 
    y: 5 
[2]: Object 
    x: 3 
    y: 5 

당신은 내가 여기에 작업이 기본적인 예를 가지고

[ 
{ 'key' : 'dot1', 'x' : 3, 'y' : 2 }, 
{ 'key' : 'dot1', 'x' : 2, 'y' : 5 }, 
{ 'key' : 'dot1', 'x' : 3, 'y' : 5 }, 
] 

와 끝까지

underscore.js를 사용하여 데이터 세트의 각 행을 매핑하고 각 값 배열을 내부에 매핑합니다. 따라서 데이터 셋의 모든 1 행에 대해 3으로 끝납니다. 그런 다음 전체 구조를 평면화합니다. 이제 측정 축의 속성으로 'x'및 'y'를 사용할 수 있습니다. 새 데이터 행마다 고유 한 식별자가 추가 된 것을 알 수 있습니다. 그것 없이는, 내가 한 경우에만

var series = chart.addSeries(["key"], dimple.plot.bubble); 

딤플은 모든 값이 동일한 '키'를 공유하므로 두 개의 거품 만 플로팅합니다. 고유 한 ID가 없으면 더 좋은 방법이 없는지 확실하지 않지만 충분히 잘 작동합니다.