切片符号在此 matplotlib 图的上下文中如何工作?

How does slice notation work in the context of this matplotlib plot?

有人能帮我理解我在 matplotlib 图中找到的这个符号吗?我相信它是切片符号,但我无法理解它。

plt.plot(self.input_indices, inputs[n, :, plot_col_index], label='Inputs', marker='.', zorder=-10)

具体我不懂inputs[n, :, plot_col_index]

self.input_indices 是一个数组 [1, 2, 3, 4, 5, 6....]

inputs是tensorflow张量

n 是 1-3

范围内的整数

plot_col_index 是在 y 轴上绘制的张量列的索引。

我认为格式是 plt.plot(x, y ...) 但我不明白 inputs[n, :, plot_col_index] 如何转换为 y 值。

非常感谢

看起来 inputs 是一个 3D 张量,您可以将其可视化为 3 个单独的 2D 数组。

切片inputs[n, :, plot_col_index] 首先选择n,3个二维数组之一。然后从该二维数组中,通过索引 [:, col_index] 您选择给定列的所有行,留下一维数组(您的绘图 y 值),其长度应与 self.input_indices 相同(你的 plot x 值)。

This link 很好地说明了在 3D 数组中选择数据。