Skip to content

d3 timeline #3

@pnpranavrao

Description

@pnpranavrao

The d3-timeline plug in (https://github.com/jiahuang/d3-timeline/tree/master/src)
requires data to have this attribute :
" times: [{"starting_time": 1355752800000, "ending_time": 1355759900000}, {"starting_time": 1355767900000, "ending_time": 1355774400000}"

The rest of the json file you have can remain exactly the same, only the "times" property above needs to be added for each "event" entry.

Also note that there's a hover function provided by the timeline - so most of the code you have below the load_data func in main.js just goes there.

Here's a tiny function I wrote to convert the current event dates to UTC format. Just run it on the json file properly. (Don't have unix now on my PC)

import datetime
def process_date(given_date):
epoch = datetime.datetime(1970, 1, 1)
month = 0
day = 0
year = 2013
month_dict = {"Jan":1,"Feb":2,"Mar":3,"Apr":4,"May":5,"Jun":6,"Jul":7,"Aug":8,"Sep":9,"Oct":10,"Nov":11,"Dec":12}
date_items = given_date.split(" ")
g_month = str(date_items[0])
month = month_dict[g_month]
day = int(date_items[1].split(",")[0])
g_year = str(date_items[2])
if "12" in g_year:
    year = 2012
start = datetime.datetime(year=year,month=month,day=day)
end = datetime.datetime(year=year,month=month,day=day+1)
return {"starting_time":(start-epoch).total_seconds(),"ending_time":(end-epoch).total_seconds()}

Example :
s = "Apr 7, '13"
process_date(s)
{'ending_time': 1365379200.0, 'starting_time': 1365292800.0}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions