2013-11-15 2 views
1

멋진 그래픽 라이브러리 인력거를 내 프로젝트에 통합하려고합니다. 인력거 여기에서 찾을 수있다 : http://code.shutterstock.com/rickshaw/정수 배열을 인력거에 대한 x/y 좌표로 변환하는 방법

I 그래프 할 데이터를 간단한 배열이다 : I은 X 좌표로 배열의 각 요소의 인덱스를 사용하고자

data = [51929, 65932, 49119, 50379, 103501, 92430, 93107, 105710, 115200, 109283] 

, 요소 자체를 y 좌표로 나타냅니다. 내가 Richshaw가 마법을 할 수 있도록 다음과 같은 형식과 같은이 점을 포맷해야 : 나는 다양한 방법을 시도했습니다

data = [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 17 }, { x: 3, y: 42 } ]; 

를, 내가 온 가장 가까운처럼, 내부 해시와 따옴표의 배열을 생산하는 것입니다 그래서 :

clean_data = [] 
data.each_with_index do |value, index| 
    clean_data << "{x: #{index}, y: #{value} }” 
end 
clean_data.to_a 

반환 :

["{x: 0, y: 51929}", "{x: 1, y: 65932}", "{x: 2, y: 49119}" ... etc...] 

그래서 제 질문은 하나, 나는 내가에있어 경우, 해시 단지 배열을 얻거나 위의 따옴표를 제거하는 방법 잘못된 tra ck : 배열을 인력거에 알맞게 표시하려면 어떻게해야합니까? 여기서는 Ruby로 작업하는 것을 선호하지만 JavaScript의 모든 내용은 훌륭 할 것입니다.

감사합니다.

+0

지금까지 아무도가 작동되지 않으며, 인력거는 해시 로켓과 잘 작동하지 않습니다. 나는 로켓을 없애고 변수의 오른쪽에 콜론을 넣고 효과가 있다는 것을 알기 위해 여러 가지 찾기와 바꾸기를 수행했습니다. 그래서 인력거의 잘못이 아니라는 것을 압니다. – redbeardNinja

답변

0

꽤 가까웠습니다. 이 시도 : 답변의

data = [51929, 65932, 49119, 50379, 103501, 92430, 93107, 105710, 115200, 109283] 
clean_data = [] 
data.each_with_index do |value, index| 
    clean_data << {:x => index, :y => value} 
end 

clean_data.to_json 
+0

인력거는 결과 json 문자열을 좋아하지 않는 것 같습니다. 내가 그 특정 형식으로 그것을 얻으려면 일부 정규식 마술을해야만하는지 궁금하네요. 비록 그 길이 있어야하는 것처럼 보입니다. – redbeardNinja

+0

나는 이것이 매우 가깝다고 생각하기 때문에 이것을 답으로 표시 할 것입니다. 실제로 제가 도움을 얻은 후에 결국 마침내 끝난 것과 같은 것일 수 있습니다. 마침내 배열을 처리하고 JSON 문자열로 변환 한 후, 포함 된 루비와 raw를 사용하여 Rickshaw에 삽입하여 이스케이프 처리 된 문자를 처리했습니다. <% = raw (@data) %>. 이것은 트릭을했다. – redbeardNinja

0
p data.map.with_index{|val, idx| 
    Hash[:x,idx,:y,val] 
} 
#=> [{:x=>0, :y=>51929}, {:x=>1, :y=>65932}, {:x=>2, :y=>49119} ..... 
관련 문제