`import pygal


the_data = [["Firefox", [None, None, 0, 16.6,   25,   31, 36.4, 45.5, 46.3, 42.8, 37.1]],
        ["Chrome",  [None, None, None, None, None, None,    0,  3.9, 10.8, 23.8, 35.3]],
        ["IE",      [85.8, 84.6, 84.7, 74.5,   66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1]],
        ["Others",  [14.2, 15.4, 15.3,  8.9,    9, 10.4,  8.9,  5.8,  6.7,  6.8,  7.5]]]



chart = pygal.StackedLine(fill=True)
chart.title = "The browsers usage"
chart.x_labels = map(str, (2002, 2013))


for label, data_points in the_data:
    chart.add(label, data_points)


chart.render() 

` what is the problem because the code looks correct please help because this is a schools project

1

There are 1 answers

0
soloidx On

I think you had a mistake in this line:

chart.x_labels = map(str, (2002, 2013))

basically map(str, (2002, 2013)) creates a collection with only two values ["2002", "2013"] and because you have more columns the library fills it with other numbers (1,2,3), what you want is to have the list of all the years:

chart.x_labels = map(str, range(2002, 2013))

check the range function, this will generate the collection with ['2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012']