예제 #1
0
    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))
예제 #2
0
    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