我有一个python脚本,它读入一个数据文件,并使用matplotlib库显示一个带有四个图的图形.数据文件每隔几秒更新一次,因为它是同时运行的不同软件的输出文件.我希望matplotlib图中的四个图表每隔20秒使用更新的数据文件刷新一次.我实现这个的方式如下:
import pylab as pl
import time
pl.ion()
fig = pl.figure()
while True:
f = open('data.out', 'rb')
#code to parse data and plot four charts
ax = fig.add_subplot(2,2,1)
#...
ax = fig.add_subplot(2,2,4)
#...
pl.draw()
time.sleep(20)
Run Code Online (Sandbox Code Playgroud)
这有效,但是我失去了缩放和平移按钮的功能,如果调用了pl.show(),它通常会起作用.这不是最佳选择.但是,如果用pl.show()替换pl.draw(),则脚本不再更新绘图.有没有办法动态更新绘图而不会完全失去缩放/平移功能?
我在python中使用matplotlib库生成发布质量的xy散点图。我遇到了一个关于图例中标记的问题。我正在绘制2个不同的xy-scatter系列;一个是一组xy点,它们形成一条曲线,另一个是单个xy点。
我希望图例为“曲线”显示3个标记,为单个点显示1个标记。我知道如何更改图例标记的数量的唯一方法是在声明图例时使用“ scatterpoints”参数。然而,这种说法将标记为数量都在传说系列,我不知道如何改变每个图例项独立。
遗憾的是,我不能以新用户身份发布图片,但希望此说明就足够了。有没有一种方法可以使用matplotlib为每个图例条目分别设置散点值?
编辑:这是显示具有不同散点值的图像的链接。
散点= 3:http://imgur.com/8ONAT
分散点= 1:http://imgur.com/TFcYV
希望这可以使问题更加清楚。