Следующий фрагмент кода работает.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5, 0.1);
y = np.sin(x)
fig1 = plt.figure(1)
fig1.text(0.45, 0.95, "Case A", ha="center", va="bottom", size="medium",color="red")
fig1.text(0.5, 0.95, "&", ha="center", va="bottom", size="medium")
fig1.text(0.55,0.95,"Case B", ha="center", va="bottom", size="medium",color="blue")
plt.plot(x, y)
plt.show()
Насколько я вижу, заголовок, сгенерированный функцией заголовка matplotlib, содержит только один текстовый объект и, следовательно, может иметь только один цвет шрифта.Это причина для создания нескольких текстовых элементов на рисунке.