2013-10-25 3 views
6

chartkick 1.2.0 및 groupdate 1.0.4 gem이 설치되어 있습니다. 내가 좋아하는 STH를 할 때 :Chartkick y 축 부정확 라벨링

<%= area_chart Match.group_by_day_of_week(:created_at).count, :width=>"700px;", :height=>"150px;" %> 

난이 얻을 :

enter image description here

그것은 항상 나에게 잘못 y 축을 제공합니다. 어떻게하면 "월요일", "화요일"을 표시 할 수 있도록 서식을 지정해야합니까?

두 번째 예도 제가 몇 시간 씩 그룹화하는 것입니다. 이 오전 1시 0분 0초 등이 표시되는지 내가 잘못 뭐하는 거지

<% abc=Matches.on_location(@location).group_by{|b| b.created_at.strftime("%H").to_i} %> 
    <% abc.update(abc){|key, v| v.length} %> 
    <%= abc=abc.sort_by{|k,v| k} %> 
    <%= area_chart abc, :width=>"700px;", :height=>"150px;" %> 

? 나는 숫자 즉, : 0, 1, 2, 3 .. 23을 갖고 싶습니다.

Google 검색을 둘러 보았습니다. 아래쪽에서 아래쪽으로 문서를 확인했습니다. http://ankane.github.io/chartkick/ 몇 시간 동안 지금 내가 뭘 놓쳤는 지 모릅니다. 어떤 도움이라도 대단히 감사하겠습니다!

답변

2

This thread Chartkick의 Github에서 차트 라이브러리 (하이 차트, 귀하의 경우?)는 원하는 X 축의 종류를 가정합니다. 짐작할 수 있겠지만 여기에있는 문제는 도서관이 잘못된 가정을하고 있다는 것입니다. 따라서 입력 키의 이름을보다 명확한 형식으로 지정하십시오. 첫 번째 예에서

, 당신은 대신 0의 키, 1 등으로 "Monday", "Tuesday" 등을 사용하여 시도해 볼 수도 있습니다 : 두 번째 예를 들어

results = Match.group_by_day_of_week(:created_at).count # hash with numeric keys 
days = %w(Monday Tuesday Wednesday Thursday Friday Saturday Sunday) 
results = results.inject({}){|a, (k,v)| a.update(days[k] => v); a } # change numeric keys to weekday name 

, 그래서 더 %H:%M:%S로 날짜 포맷을 시도 당신이 원하는 시간 축 :

abc=Matches.on_location(@location).group_by{|b| b.created_at.strftime("%H:%M:%S")} 
+0

불행히도 주어진 코드도 작동하지 않습니다. 나는 대문자 소문자의 이름으로 시험해 보았고, 나는 이름으로 그들을 주문했고, 처음에 일요일을 주었다. 그것의 아무도는 작동하지 않았다. 두 번째 예제에서는 몇 초 후에 그룹화하면 키 쌍 값의 gazzilon을 얻을 수 있습니다. 나는 시도했지만 또한 작동하지 않습니다. – necker

+0

차트 키크에 익숙하지 않은만큼 어둠 속에서 한 발 맞았습니다. 아마도 Github에서 스레드를 열거 나 버그를 제기하는 것이 좋습니다. 프로젝트에서 일하는 누군가가 살펴보고 필요한 작업이 있거나 예기치 않은 동작이있는 경우 알려줄 수 있습니다. – james246

1

불행히도, 지금 당장 할 방법이 없습니다. 또는 기둥 형 차트를 사용해보십시오.

+0

왜 이것을 할 수 없다고 생각합니까? – necker

+4

나는 차트 킥을 썼다 : –

+0

좋은 하나, ... :) – necker