如何用jupyter在三维空间画出三条时间序列,其中,X轴表示它们的数据点个数,Y轴表示每条时间序列的名称,Z轴表示数据值
时间: 2024-01-12 19:03:48 浏览: 74
matlab在一个坐标系内让二维图片堆叠形成三维空间的表示
5星 · 资源好评率100%
要在Jupyter Notebook中画出三条时间序列,其中,X轴表示它们的数据点个数,Y轴表示每条时间序列的名称,Z轴表示数据值,可以使用matplotlib中的mplot3d库。下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
%matplotlib notebook
# 生成数据
x1 = np.array([10, 20, 30, 40, 50])
y1 = 'A'
z1 = np.array([5, 10, 15, 20, 25])
x2 = np.array([5, 10, 15, 20, 25])
y2 = 'B'
z2 = np.array([10, 20, 30, 40, 50])
x3 = np.array([8, 16, 24, 32, 40])
y3 = 'C'
z3 = np.array([15, 30, 45, 60, 75])
# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制三条时间序列
ax.plot(x1, [y1]*5, z1, label='Time Series 1')
ax.plot(x2, [y2]*5, z2, label='Time Series 2')
ax.plot(x3, [y3]*5, z3, label='Time Series 3')
# 设置坐标轴标签
ax.set_xlabel('Data Point Count')
ax.set_ylabel('Time Series Name')
ax.set_zlabel('Data Value')
# 添加图例
ax.legend()
# 显示图形
plt.show()
```
在这个例子中,我们生成了三组时间序列数据 `x1`、`y1`、`z1`、`x2`、`y2`、`z2`、`x3`、`y3`、`z3`,分别表示三条时间序列的数据点个数、名称和数据值。然后使用 `plot()` 函数在三维坐标系中分别绘制三条时间序列。其中,`[y1]*5`、`[y2]*5`、`[y3]*5` 表示将每个时间序列的名称重复5次,以便在Y轴上表示。最后,我们设置了坐标轴标签和图例,并使用 `show()` 函数显示图形。需要注意的是,在Jupyter Notebook中需要添加 `%matplotlib notebook` 命令来启用交互式绘图模式。
阅读全文