我以下列方式循环绘制图像:
imshow()
我想根据特定条件更改每个图的背景颜色(正如您可能已经猜到的,当预测是否等于基本事实时)。
我尝试在 if classes[int(pred[i][0])] == classes[int(batchy[i])]:
plt.gcf().set_facecolor("green")
else:
plt.gcf().set_facecolor("red")
之前的循环中添加它:
plt.gcf()
但是,只有最后一个 plt.show()
调用会被考虑,因为当 <div class="fieldcontainer">
<input oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);" type="number" class="mts-field" maxlength="4" id="tdee" name"tdee" placeholder="Inserisci il tuo TDEE" form="fbday" required autocomplete="off"/>
<label>Spesa calorica</label>
</div>
<div class="container_level">
<select class="target" id="target_select" form="fbday" name="target">
<option value="0">Stile di vita / Attività fisica</option>
<option id="mass1" name="radsa" value="5">mass1</option>
<option id="mass2" name="radsa" value="10">mass2</option>
<option id="mass3" name="radsa" value="15">mass3</option>
<option id="def1" name="radsa" value="10">def1</option>
<option id="def2" name="radsa" value="15">def2</option>
<option id="def3" name="radsa" value="20">def3</option>
</select>
</div>
<!---Fabbisogno Giornaliero--->
<div id="fbbday0" class="results" hidden>
<input type="text" form="fbday" class="result-field" id="dayli_intake_mass" name="dayli_intake"
placeholder="Fabbisogno giornaliero / 0.000 Kcal" min="1" readonly/>
<label class="mts-label"></label>
</div>
<div id="fbbday1" class="results" hidden>
<input type="text" form="fbday" class="result-field" id="dayli_intake_def" name="dayli_intake"
placeholder="Fabbisogno giornaliero / 0.000 Kcal" min="1" readonly/>
<label class="mts-label"></label>
</div>
<form action="" id="fbday">
</form>
<button name="calculate" onclick="calculate()">Calculate</button>
<button id="reset" onclick="resetFields()">Reset</button>
运行时,它会查看颜色设置,使所有背景变为绿色或红色。
我还能通过什么其他方式实现这一目标?
答案 0 :(得分:0)
您可以使用 subplots() 并遍历 Axes,以最终显示所有带有正确背景颜色的图。
fig, axs = plt.subplots(8,4, figsize=(20, 35))
# Flattens the Axes grid to more easily iterate
axs = axs.flatten()
# You must make sure that len(axes) >= len(batchX) (and batchy)
for i, X in enumerate(batchX):
ax = axs[i]
ax.set_title("IMG{} - Pred: {}, GT: {}".format(i+1, classes[int(pred[i][0])],\
classes[int(batchy[i])]))
if classes[int(pred[i][0])] == classes[int(batchy[i])]:
ax.set_facecolor("green")
else:
ax.set_facecolor("red")
ax.imshow(X)
plt.tight_layout()
plt.show()