1

꺾은 선형 차트에서 datetime.timedelta 값을 y 축으로 사용하는 데 어려움을 겪고 있습니다. 내가 렌더링하지 않습니다 그래프를 추측하고Google 차트 챠트 차트의 datetime.timedelta

var data = new google.visualization.DataTable(); 
data.addColumn('string', 'Day'); 
data.addColumn('timedelta', 'Time Average'); 

data.addRow(['Oct-20', {{ timedeltaObject }})]); 

인한 잘못된 유형 : 여기

내가 가진 것입니다. 시간을 y 축의 값으로 사용할 필요가 있습니다. 특히 시간과 분만 사용합니다. Oct-20이라고 말하면서 X를 2 시간 5 분 보냈습니다. 그 값을 그래프에 그려야합니다.

datetime 개체를 플롯하는 것이 가능하지만 시간 값이 아닌 시간 값이 필요하다는 것을 알고 있습니다.

+0

Jinja 템플릿에서 파이썬 개체를 호출하는 경우'{{}} '또는 다른 것으로 포장하지 않아도됩니까? – cowbert

+0

네, 제 코드에있는 것과 같습니다. 나는 명확성을 위해 질문을 편집 할 것이다. – nyvokub

+0

당신은'console.log ({{timedeltaObject}})'를 삽입하고 진저가 그 객체를 렌더링하는 것을 볼 수 있습니까? (나는 Jinja가'__repr __()'또는'__str__' 또는 무엇이든 그것을 호출하는지 모른다.) 또한 Jinja/Jinja2 태그를 덧붙여 라. 왜냐하면 그것은 컨트롤러의 timedelta 서브 클래스가 아닌 – cowbert

답변

1

timedelta 객체를 Jinja를 통해 내 python 코드로 전달하는 대신 timedelta 객체에서 시간과 분을 가져 와서 적절한 값으로 [hours, minutes, seconds] 목록에 추가했습니다.

googleVisualization에서 나는 data.addColumn('timeofday', 'Time Average');을 사용하고 내 목록을 전달합니다.

참고 :이 방법은 24 시간 미만의 값에 대해서만 작동합니다.

+0

요소이기 때문이다. Jinja가 timedelta 객체를 구문 분석하여 필요한 것을 반환하는 데 사용하는 방법 – cowbert

+0

대용량 프로젝트에서 매우 특정한 경우이므로 다시 사용하지 않을 것입니다. 그래서 Jinja가 객체를 구문 분석하는 방법을 전역 적으로 무시하고 싶지는 않습니다. 예를 들어 timedelta. – nyvokub

+0

그런 다음 timedelta를 서브 클래스 화하고'def render_method (self)와 같은 별도의 메소드를 추가하십시오 : 델타'의 올바른 표현을 리턴하고'{{newtimedelta.render_method()}}'를 호출하십시오. – cowbert