我无法理解文本注释出现在图像数组中的顺序。我有一个 10x28x28 的 numpy 数组,每个子数组的值都是 0.1,0.2 一直到 0.9
from dash import Dash, dcc, html, Input, Output,callback
import plotly.express as px
import numpy as np
X = np.zeros((10,28,28))
y = np.zeros(10,)
for i in range(10):
X[i,::,::] = i/10
y[i] = i
fig = px.imshow(X[:, :, :], binary_string=False, zmin=0, zmax=1,
facet_col=0, aspect = 'auto', facet_col_wrap=5,
facet_row_spacing = 0, color_continuous_scale='rdylgn')
for n,i in enumerate(fig.layout.annotations):
i['text']=str(n)
fig.show()
使用所选的配色方案,第 0 个图像应显示为红色,第 9 个图像应显示为绿色。到目前为止一切顺利。然而,当我用数组索引更新注释时,它们的顺序完全混乱。左上角的图像是第 0 个子数组,因此它的文本注释应该为 0。同样,右下角的图像是最后一个子数组,它应该有一个注释 9。 请帮助我理解可以控制文本注释的顺序。
在这种情况下,出现这种现象是因为注释和图表的顺序不同。最简单的方法是使用默认创建的字幕作为注释。
fig = px.imshow(X[:, :, :], binary_string=False, zmin=0, zmax=1,
facet_col=0, aspect = 'auto', facet_col_wrap=5,
facet_row_spacing = 0, color_continuous_scale='rdylgn')
for n,i in enumerate(fig.layout.annotations):
i['text']=i.text.split('=')[1]
fig.show()