我想尝试使用pygal,因为它能够创建SVG数据,因为我将使用SVG图形从合并的HTML创建打印的PDF页面。
我想要做的是相当于pygal.plot(数据帧),但我没有在文档中看到它。
我知道我能做到:
df = pd.Series(np.random.randn(5), index = ['a', 'b', 'c', 'd', 'e'])
chart = pygal.Line()
for index, row in df.iteritems():
chart.add(index,row)
但从python的角度来看,这似乎是错误的。我应该采用不同的方式吗?
另外,如果数据框有多列,我该如何做?
答案 0 :(得分:4)
您正在以错误的方式使用pygal API。标签应与索引相对应。此外,使用Pandas时应避免使用iteritems。
line_chart = pg.Line()
line_chart.x_labels = ['a', 'b', 'c', 'd', 'e']
line_chart.add('Firefox', pd.Series(np.random.randn(5)))
line_chart.render_to_file('bchart.svg')
希望这有帮助。
编辑:对于数据框,您可以使用所有系列,并使用
逐个添加它们line_chart.add('Series name', pd.Series(np.random.randn(5)))
呼叫。