Я нашел решение, используя pcolormesh
import matplotlib
from matplotlib.colors import ListedColormap
import seaborn as sns
import numpy as np
import pandas as pd
sns.set_style('white')
colors=sns.color_palette("coolwarm", 25)
df=pd.DataFrame({'col':sequence}, index=range(len(sequence)))
letter2num = dict(zip(list("ABCDEFGHIJKLMNOPQRSTUVWXY"), np.arange(25)))
df2 = pd.DataFrame(np.array( [letter2num[i] for i in df.values.flat] ).reshape(df.shape))
cmap = ListedColormap(colors)
fig, ax = plt.subplots(figsize=(3,10))
plt.pcolormesh(df2.values, vmin=0, vmax=len(cmap.colors), cmap=cmap)
plt.xticks([])
cbar=plt.colorbar( fraction=0.46,ticks=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24],pad=0.3)
cbar.ax.set_yticklabels(['A', 'B', 'C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y'],size=15,verticalalignment='bottom',horizontalalignment='left' )
cbar.ax.tick_params(size=0, pad=5.4)
yticks=['0','50','100','150','200']
plt.yticks([0,1250,2500,3750,5000],yticks,size=15)
plt.ylabel('Time(ns)',Size=20)
