同一个3纬坐标系中,如何同时绘制4组时间序列数据,每组都包含经纬高3种变量,要求坐标点变化一直为最新的显示,不保留航迹,给出python完整代码
时间: 2024-10-28 10:12:28 浏览: 27
要在同一个三维坐标系中实时绘制四组时间序列数据,我们可以使用matplotlib库中的`Axes3D`子类以及`FuncAnimation`函数来实现动画效果。以下是一个简单的例子,假设我们已经有了四组数据(每组包含经度、纬度和高度的数据列表),我们将每组数据视为一个独立的时间序列:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.animation import FuncAnimation
# 假设你有四组数据,每组包含三个变量
data_groups = [
[(np.random.rand(10, 3)*10).T for _ in range(4)], # 一组随机数据示例
# 更换为你实际的数据
]
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
def update_data(i):
for group_idx, data in enumerate(data_groups):
x, y, z = data[i] # 获取当前帧对应的数据
ax.clear() # 清除上一帧的图形
ax.scatter(x, y, z) # 绘制新的散点图
ax.set_xlabel('Longitude')
ax.set_ylabel('Latitude')
ax.set_zlabel('Height')
ax.set_title(f'Group {group_idx + 1} at Frame {i}')
ani = FuncAnimation(fig, update_data, frames=len(data_groups[0]), interval=500) # 设置帧间隔
plt.show()
阅读全文