Я хочу дать графику заголовок в большом шрифте 18pt, а затем под ним под ним меньший шрифт 10pt. Как я могу сделать это в matplotlib? Похоже, функция title()
принимает только одну строку с единственным атрибутом fontsize
. Должен быть способ сделать это, но как?
Предоставление графиков субтитров в matplotlib
Ответ 1
Я не думаю, что есть что-то встроенное, но вы можете сделать это, оставив больше пространства над вашими осями и используя figtext
:
axes([.1,.1,.8,.7])
figtext(.5,.9,'Foo Bar', fontsize=18, ha='center')
figtext(.5,.85,'Lorem ipsum dolor sit amet, consectetur adipiscing elit',fontsize=10,ha='center')
ha
не подходит для horizontalalignment
.
Ответ 2
Я использую функцию title() для субтитров и suptitle() для основного заголовка (они могут принимать разные аргументы fontsize). Надеюсь, что это поможет!
Ответ 3
Хотя это не дает вам гибкости, связанной с несколькими размерами шрифтов, добавление символа новой строки в вашу строку pyplot.title() может быть простым решением;
plt.title('Really Important Plot\nThis is why it is important')
Ответ 4
Это пример кода pandas, который реализует ответ Floris van Vugt (20 декабря 2010 г.). Он сказал:
> Я использую функцию title() для субтитров и suptitle() для основного заголовка (они могут принимать разные аргументы fontsize). Надеюсь, что это поможет!
import pandas as pd
import matplotlib.pyplot as plt
d = {'series a' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
'series b' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
title_string = "This is the title"
subtitle_string = "This is the subtitle"
plt.figure()
df.plot(kind='bar')
plt.suptitle(title_string, y=1.05, fontsize=18)
plt.title(subtitle_string, fontsize=10)
Примечание. Я не могу прокомментировать этот ответ, потому что я новичок в stackoverflow.
Ответ 5
Просто используйте TeX! Это работает:
title(r"""\Huge{Big title !} \newline \tiny{Small subtitle !}""")
EDIT: Чтобы включить обработку TeX, вам нужно добавить строку "usetex = True" к параметрам matplotlib:
fig_size = [12.,7.5]
params = {'axes.labelsize': 8,
'text.fontsize': 6,
'legend.fontsize': 7,
'xtick.labelsize': 6,
'ytick.labelsize': 6,
'text.usetex': True, # <-- There
'figure.figsize': fig_size,
}
rcParams.update(params)
Думаю, вам также нужен рабочий дистрибутив TeX на вашем компьютере. Все данные приведены на этой странице: