Для моего эксперимента у меня есть три условия (1, 2 и 3), три образца для каждого условия (A, B и C), три порога для каждого образца (50, 100, 150) и для каждого порога У меня есть два изображения (необработанное изображение и пороговое изображение) => итого 3 * 3 * 3 * 2 = 54 изображения в общей сложности.
Вот код, который показывает их на рисунке:
import matplotlib.pyplot as plt
import mahotas as mh
import numpy as np
fig = plt.figure(figsize=(9,16))
x_start_init = -0
x_stop_init = -0.66
cells = ['A', 'B', 'C']
thresholds = [50,100,150]
for detection in thresholds:
lena = mh.demos.load('lena')
lenag = mh.colors.rgb2grey(lena)
column_count = 0
for column in np.linspace(0.15, 0.85, 3):
cell = 0
for row in np.linspace(x_start_init, x_stop_init, 3):
subrow_count = 0
for subrow in np.linspace(np.linspace(x_start_init, x_stop_init, 3)[cell],
np.linspace(x_start_init, x_stop_init, 3)[cell]-0.16,2):
ax = fig.add_axes((column, subrow, 0.3, 0.16))
ax.tick_params(bottom =False, left = False, labelbottom = False, labelleft = False)
if column == np.linspace(0.15, 0.85, 3)[0] :
lenat = lenag > thresholds[0]
if subrow_count == 0:
ax.set_ylabel('Cell \n' + str(cells[cell]), rotation = 0, fontsize = 20)
ax.yaxis.set_label_coords(-0.13,-0.13)
img = lenag
else :
img = lenat
elif column == np.linspace(0.15, 0.85, 3)[1]:
lenat = lenag > thresholds[1]
if subrow_count == 0:
img = lenag
else :
img = lenat
elif column == np.linspace(0.15, 0.85, 3)[2]:
lenat = lenag > thresholds[2]
if subrow_count == 0:
img = lenag
else :
img = lenat
ax.imshow(img)
subrow_count = subrow_count + 1
cell = cell + 1
x_start_init = x_stop_init - 0.35
x_stop_init = x_start_init - 0.66
plt.figtext(0.25, 0.18,'50', fontsize = 20)
plt.figtext(0.60, 0.18,'100', fontsize = 20)
plt.figtext(0.95, 0.18,'150', fontsize = 20)
# x,y = np.array([[-10,-100], [-10,-100]])
# line = Line2D(x, y)
# plt.line(line)
plt.title('Test Lena thresholds:', fontsize = 20, x = -1.33, y = 19)
Я хотел бы нарисовать линию слева от каждых 6 строк, которые относятся к одному и тому же условию. Я устал от Line2D, но он не работает ...
Пожалуйста, не могли бы вы дать мне знать, если у вас есть какие-либо подсказки?
Пожалуйста, ваш!