data = uart_r.readline().decode().strip() data_list = data.split() float_list = float(data_list[0]) self.data.append(float_list) self.data = self.data[-50:] self.data_line.setData(np.arange(len(self.data)), self.data) 用这个函数实时显示串口接收的最新的50个数据绘制的折线图,但是现在显示的折线图中x轴没有增长,x轴可以和显示的折线图的数据实时更新增长变大吗?多出来的数可以在x轴的左边舍弃
时间: 2023-11-29 17:04:09 浏览: 31
可以实现x轴随着数据实时更新增长变大,多出来的数可以在x轴的左边舍弃,可以按照以下步骤来实现:
1. 在绘制折线图之前,设置x轴的范围,比如设置为[0, 50]。
2. 在每次更新数据时,将新的数据添加到self.data末尾,并将self.data的长度限制为50,这样就能够保持self.data中只有最新的50个数据。
3. 在更新数据后,调用setData方法更新折线图的数据,同时将x轴的范围设置为[0, len(self.data)],这样就能够实现x轴随着数据实时更新增长变大。
4. 如果需要舍弃x轴左边的多余数据,可以在更新数据之前,将self.data的长度扩展到需要的长度,比如60,然后在更新数据后,将x轴的范围设置为[len(self.data)-50, len(self.data)],这样就能够实现x轴舍弃左边多余数据的效果。
下面是示例代码:
```python
data = uart_r.readline().decode().strip()
data_list = data.split()
float_list = float(data_list[0])
self.data.append(float_list)
self.data = self.data[-50:]
self.data_line.setData(np.arange(len(self.data)), self.data)
self.plotWidget.setXRange(max(0, len(self.data)-50), len(self.data))
```
其中,self.plotWidget是用于绘制折线图的PlotWidget对象,self.data是存储最新50个数据的列表,self.data_line是用于绘制折线图的PlotDataItem对象。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)