Название рисунка с несколькими цветами в matplotlib - PullRequest
12 голосов
/ 19 февраля 2012

Можно ли иметь несколько цветов шрифта в заголовках рисунков matplotlib? Что-то вроде этого three colors in the title

Ответы [ 2 ]

9 голосов
/ 19 февраля 2012

Следующий фрагмент кода работает.

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, содержит только один текстовый объект и, следовательно, может иметь только один цвет шрифта.Это причина для создания нескольких текстовых элементов на рисунке.

4 голосов
/ 26 января 2013

Можно также использовать figtext() команду matplotlib, как показано ниже,

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...