在 matplotlib 的面向对象风格中,您可以获取现有图形中的当前轴、线和图像:
fig.axes
fig.axes[0].lines
fig.axes[0].images
Run Code Online (Sandbox Code Playgroud)
但是我还没有找到获取现有颜色条的方法,我必须在第一次创建颜色条时为其分配一个名称:
cbar = fig.colorbar(image)
Run Code Online (Sandbox Code Playgroud)
如果我没有为它们指定名称,有没有办法在给定的图形中获取颜色条对象?
在numpy中,我有一个可以是2-D或3-D的数组,我想将它减少到2-D,同时对每个元素求平方.所以我尝试了这个并不起作用:
A = np.random.rand(5, 3, 3)
np.einsum('...ij,...ij->ij', A, A)
Run Code Online (Sandbox Code Playgroud)
它返回此错误:
ValueError: output has more dimensions than subscripts given in einstein sum, but no '...' ellipsis provided to broadcast the extra dimensions.
Run Code Online (Sandbox Code Playgroud)
我想einsum并不认为当省略号在右侧消失时,我想要省略省略号(如果它们存在).是否有一些"优雅"的方式(即没有检查维度的数量和使用if语句)告诉它我想为3-D做这个:
A = np.random.rand(5, 3, 3)
np.einsum('aij,aij->ij', A, A)
Run Code Online (Sandbox Code Playgroud)
这对于2-D?
A = np.random.rand(3, 3)
np.einsum('ij,ij->ij', A, A)
Run Code Online (Sandbox Code Playgroud)