Is it possible to have multiple font colors in matplotlib figure titles? Something like this
Answer #1: show() (not with block=False ) and, most importantly, plt. pause(. 001) (or whatever time you want). The pause is needed because the GUI events happen while the main code is sleeping, including drawing.
The following snippet seems to work.
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()
As far as I can see the title generated by matplotlib title function only contains one text object and hence can only have one font color. This is the reason for making multiple text elements on the figure.
One can also use figtext()
command of matplotlib, like below,
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5, 0.1)
for i in range(4):
plt.subplot(2,2,i+1)
plt.plot(x, np.sin((i+1)*x),'r')
plt.plot(x, np.cos(4*x/(i+1)),'b')
plt.title('(i+1)='+str(i+1))
plt.figtext(0.47, 0.96, "Case A", fontsize='large', color='r', ha ='right')
plt.figtext(0.53, 0.96, "Case B", fontsize='large', color='b', ha ='left')
plt.figtext(0.50, 0.96, ' vs ', fontsize='large', color='k', ha ='center')
plt.show()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With