Thank you for your answer. After testing, I used your suggestion and found 
that after using "self.plot.setData(x, y)", I found that the previous curve 
on the pyqt5 interface could not be saved. After consulting the pyqtgraph 
document, I found the document Display: setData(*args, **kargs)[source] 
Clear any data displayed by this item and display new data. See __init__() 
for details; it accepts the same arguments. Using setData will clear the 
previously loaded data, so that the previous data cannot be retrieved, 
because my software needs to use " LinearRegionItem" selects the data of 
the specified interval.    [image: 企业微信截图_16064039279384.png] 

在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 ning...@gmail.com 
> 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 pyqtgraph+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/d6c9fde9-c1ea-4626-aac0-39cc7b09fffcn%40googlegroups.com.

Reply via email to