适合Python的实时图表框架?
我正在开发一个Python应用程序,这个程序需要对实时数据进行回归分析,并且要把结果画成图表。简单来说,就是这个应用会不断接收实时数据,然后根据这些数据更新回归模型的计算结果。需要注意的是,我想把输入的数据和输出的回归分析结果都画在同一个图表里。
我之前用过Matplotlib这个工具。请问这是最合适的框架吗?我觉得它看起来有点静态,而且找不到和我这个需求类似的好例子。对我来说,它似乎也有点臃肿。性能很重要,所以如果有其他快速的Python绘图框架,而且占用资源少的话,我非常想知道...
3 个回答
1
我没有使用过Matplotlib,但我发现gnuplot对于我的所有图表需求来说都足够用了。你可以选择从Python中调用gnuplot,或者使用gnuplot.py(gnuplot-py.sourceforge.net)来和gnuplot进行连接。
1
你可以使用OpenFlash Chart,它能给你生成非常好看的图表。你不需要安装Flash(它可以在Flex上运行),而且还有一个Python库,可以用一种很优雅的方式来绘制图表:
def test_radar_charts_3():
chart = open_flash_chart()
chart.title = title(text='Radar Chart')
val1 = [30,50,60,70,80,90,100,115,130,115,100,90,80,70,60,50]
spokes = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p']
val2 = []
for i in val1:
txt = "#val#<br>Spoke: %s" % i
tmp = dot_value(value=i, colour='#D41E47', tip=txt)
val2.append(tmp)
line = line_hollow()
line.values = val2
line.halo_size = 0
line.width = 2
line.dot_size = 6
line.colour = '#FBB829'
line.text = 'Hearts'
line.font_size = 10
line.loop = True
chart.add_element(line)
r = radar_axis(max=150)
r.step = 10
r.colour = '#DAD5E0'
r.grid_colour = '#EFEFEF'
chart.radar_axis = r
tip = tooltip(proximity=1)
chart.tooltip = tip
chart.bg_colour = '#FFFFFF'
return chart
4
我用matplotlib做过不少动画图表的工作,但每次都得花点时间调整才能让它正常运行。
不过这里有个不错的例子:
http://matplotlib.sourceforge.net/examples/animation/simple_anim_gtk.html