def test_gviz_timeline(self): times = [ datetime.datetime(2010, 3, 3), datetime.datetime(2010, 3, 17), datetime.datetime(2010, 3, 19), datetime.datetime(2010, 4, 7), datetime.datetime(2010, 4, 8), datetime.datetime(2010, 4, 8), datetime.datetime(2010, 4, 10), datetime.datetime(2010, 7, 1), datetime.datetime(2010, 8, 22) ] data = { 'x': [random.random() * 20 for _ in range(len(times))], 'y': [random.random() * 15 for _ in range(len(times))], 'z': [random.random() * 15 for _ in range(len(times) + 2)], } html = gviz.gviz_timeline(times, data) self.assertTrue(isinstance(html, str)) self.assertTrue(re.search(r'\bx\b', html)) self.assertTrue(re.search(r'\by\b', html)) self.assertTrue(re.search(r'\bz\b', html)) self.assertTrue(re.search(r'\.visualization\.AnnotatedTimeLine', html)) self.assertTrue(re.search(r'\.setOnLoadCallback', html))
def render_htmldiv(self, entries, errors, options_map, file): date_rates = self.get_date_rates(entries) dates, rates = zip(*date_rates) scripts = gviz.gviz_timeline(dates, {'rates': rates, 'rates2': rates}, css_id='chart') file.write('<div id="prices">\n') super().render_htmldiv(entries, errors, options_map, file) file.write('<scripts>\n') file.write(scripts) file.write('</scripts>\n') file.write('<div id="chart" style="height: 512px"></div>\n') file.write('</div>\n') # prices