plot major minor range as ticks

...


fig, ax = plt.subplots()


#set the ticks

major = 10 #an even number

major_range = [0] + list(range(major-1, count, major)) + [count-1]

minor_range = range(int(major/2) - 1, count, major)

ax.yaxis.set_major_locator(FixedLocator(major_range))

ax.yaxis.set_minor_locator(FixedLocator(minor_range))

ax.grid(which="major", axis = 'y', color = 'r', linewidth=3)

ax.grid(which="minor", axis = 'y', linestyle="--", color = 'r', linewidth=3)


#set y labels

ax.set_yticks(major_range)

ax.set_yticklabels(['Start'] + [i+1 for i in major_range[1:-1]] + ['End'])


#set x labels

x_labels = [str(i)[:10] for i in df['TimeStamp'].unique()]

x_values = range(len(x_labels))

ax.set_xticks(x_values)

ax.set_xticklabels(x_labels)

       

cmap = plt.get_cmap("Blues")

img = ax.imshow(

    heatmap,

    origin="lower",

    aspect="auto",

    cmap=cmap

)

cb = fig.colorbar(img)

fig.show()