谢谢你,请问你后来是怎么解决问题的?我现在的情况是mongdb里面有1.5GB的数据,如果使用pyqtgraph全部显示在界面上,会占用我电脑90%的内存,约超过90%*24GB =21.6GB的内存,这太恐怖了,而且这仅仅是三天的数据量,我的计划是挂测10天以上,这样数据,可能达到十几个GB,如果目前来看,这个想法不能实现 Thank you, how did you solve the problem later? My current situation is that there is 1.5GB of data in mongdb. If you use pyqtgraph to display all on the interface, it will occupy 90% of my computer's memory, about 90%*24GB = 21.6GB of memory, which is horrible, and this is only three days of data. My plan is to test for more than 10 days, so the data may reach more than a dozen GB. If you look at it now, this idea cannot be realized.
在2020年11月26日星期四 UTC+8 下午11:57:18<Magne Lauritzen> 写道: > Also remember that when you provide data to plot, internal copies are > made. So plotting 1GB of data will result if several GB of memory being > consumed. This has previously caused problems for me. > > On Thu, Nov 26, 2020, 15:14 xiangyu ning <[email protected]> wrote: > >> >> Thank you for your answer, because it takes a few days to get a large >> amount of data, so I have modified the code to test according to your >> suggestions, and the results may be produced in a few days >> > 在2020年11月26日星期四 UTC+8 上午10:14:36<Patrick> 写道: >> > Hi, >>> >>> I'm guessing you are calling self.plotWidget.plot(x, y) a lot, which >>> creates a new plot item each time. You should instead make one plot, and >>> then use .setData(x, y) to update the existing plot with the new data. >>> >>> self.plot = self.plotWidget.plot() >>> # .... later, when data is received >>> self.plot.setData(x, y) >>> >>> Patrick >>> >>> On Thursday, 26 November 2020 at 12:07:46 pm UTC+10:30 [email protected] >>> wrote: >>> >>>> >>>> >>>> >>>> >>>> <https://fanyi.baidu.com/translate?aldtype=16047&query=%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8pyqtgrph%E7%94%BB%E5%9B%BE%E7%9A%84%E6%97%B6%E5%80%99%2C%E7%94%B5%E8%84%91%E7%9A%84%E5%86%85%E5%AD%98%E4%BC%9A%E9%9A%8F%E7%9D%80%E6%95%B0%E6%8D%AE%E9%87%8F%E7%9A%84%E5%A2%9E%E5%8A%A0%E8%80%8C%E5%A2%9E%E5%8A%A0.%3F&keyfrom=baidu&smartresult=dict&lang=auto2zh#%23%23> >>>> 最近使用pyqtgraph遇到问题了,问题表现在,我写了个上位机记录单片机通过串口发给电脑的数据,并将数据存入数据库,问题就在于当我用上位机从数据库中读取保存的数据,并且用pyqtgraph显示出来的时候,随着数据量的增多,电脑内存占用会逐渐加大,直到最后爆掉,我试过屏蔽掉self.plotWidget_ted.plot(y=b, >>>> >>>> x=a, >>>> pen='b')这句话,也就是说不画图,内存就不会有变化了,请问是什么原因导致的呢,是画图的时候,把那些点写入到系统内存里了吗,我上位机在读取数据的时候是循环读取,循环加载,加载完成,会清除掉已经读取的数据, >>>> >>>> <https://fanyi.baidu.com/translate?aldtype=16047&query=%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8pyqtgrph%E7%94%BB%E5%9B%BE%E7%9A%84%E6%97%B6%E5%80%99%2C%E7%94%B5%E8%84%91%E7%9A%84%E5%86%85%E5%AD%98%E4%BC%9A%E9%9A%8F%E7%9D%80%E6%95%B0%E6%8D%AE%E9%87%8F%E7%9A%84%E5%A2%9E%E5%8A%A0%E8%80%8C%E5%A2%9E%E5%8A%A0.%3F&keyfrom=baidu&smartresult=dict&lang=auto2zh#%23%23> >>>> >>>> Recently, I encountered a problem in using pyqtgraph. The problem is >>>> that I wrote a PC to record the data sent to the computer by the MCU >>>> through the serial port, and stored the data in the database. The problem >>>> is that when I use the upper computer to read the saved data from the >>>> database and display it with pyqtgraph, with the increase of the amount of >>>> data, the computer memory occupation will gradually increase, until it >>>> finally bursts, I tried to block it self.plotWidget_ ted.plot (y = B, x = >>>> a, pen'b '), that is to say, without drawing, the memory will not be >>>> changed. What is the reason for that? When drawing, did those points be >>>> written into the system memory? When reading the data, my upper computer >>>> would read the data circularly. After loading, the data would be cleared, >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "pyqtgraph" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pyqtgraph/5d5aac83-10c2-4235-b016-41e0b347aec4n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/pyqtgraph/5d5aac83-10c2-4235-b016-41e0b347aec4n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "pyqtgraph" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/pyqtgraph/8432922a-2ccd-4e36-b554-ce17d6a2ca11n%40googlegroups.com.
