Подписи осей и заголовок Matplotlib

Мы можем использоватьxlabel()иylabel()методы для установки подписей для осей X и Y.

Пример

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.xlabel("x - label")
plt.ylabel("y - метка")

plt.show()

Отображаемый результат выглядит следующим образом:

Title

Мы можем использоватьtitle()метод для установки заголовка.

Пример

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.title("EXAMPLE TEST TITLE")
plt.xlabel("x - label")
plt.ylabel("y - метка")

plt.show()

Отображаемый результат выглядит следующим образом:

Отображение китайского языка на графиках

По умолчанию Matplotlib не поддерживает китайский язык. Мы можем использовать следующие простые методы, чтобы решить эту проблему.

Здесь мы используем Source Han Sans (Noto Sans CJK) — шрифт с открытым исходным кодом, выпущенный Adobe и Google.

Официальный сайт:https://source.typekit.com/source-han-serif/cn/

Адрес GitHub:https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese

После открытия ссылки просто выберите один из них:

Вы также можете скачать с облачного диска:https://pan.baidu.com/s/10-w1JbXZSnx3Tm6uGpPGOw, код извлечения:yxqu。

Вы можете скачать OTF-шрифт, например SourceHanSansSC-Bold.otf, и поместить файл в тот же каталог, что и текущий исполняемый код:

Поместите файл SourceHanSansSC-Bold.otf в каталог текущего исполняемого кода:

Пример

import numpy as np from matplotlib import pyplot as plt import matplotlib # fname — это путь к скачанному файлу шрифта; обратите внимание на путь к шрифту SourceHanSansSC-Bold.otf zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf") x = np.arange(1,11) y = 2 * x + 5 plt.title("Пример руководства — Тест", fontproperties=zhfont1) # fontproperties задаёт отображение китайского текста, fontsize задаёт размер шрифта plt.xlabel("ось X", fontproperties=zhfont1) plt.ylabel("ось Y", fontproperties=zhfont1) plt.plot(x,y) plt.show()

Вывод после выполнения показан на рисунке ниже:

Кроме того, мы также можем использовать системные шрифты:

from matplotlib import pyplot as plt
import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:
    print(i)

Выведите все зарегистрированные имена в ttflist вашего font_manager, найдите китайский шрифт, например STFangsong (仿宋), Heiti TC (blackbody), затем добавьте следующий код:

plt.rcParams['font.family']=['STFangsong']

Кроме того, мы также можем настроить стиль шрифта:

Пример

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname — это путь к скачанной библиотеке шрифтов, обратите внимание на путь шрифта SourceHanSansSC-Bold.otf, а параметр size задаёт размер шрифта
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf", size=18)
font1 = {'color':'blue','size':20}
font2 = {'color':'darkred','size':15}
x = np.arange(1,11)
y =  2  * x +  5

# fontdict может использовать CSS для настройки стиля шрифта
plt.title("Example Tutorial - Test", fontproperties=zhfont1, fontdict = font1)
 
# fontproperties задаёт отображение китайских символов, fontsize задаёт размер шрифта
plt.xlabel("x-axis", fontproperties=zhfont1)
plt.ylabel("y-axis", fontproperties=zhfont1)
plt.plot(x,y)
plt.show()

Результат вывода следующий:

Позиционирование заголовка и подписей

title()Метод предоставляетlocпараметр для установки позиции отображения заголовка. Можно задать:'left', 'right' и 'center'. По умолчанию — 'center'.。

xlabel()Метод предоставляетlocпараметр для установки позиции отображения оси x. Можно задать:'left', 'right' и 'center'. По умолчанию — 'center'.。

ylabel()Метод предоставляетlocпараметр для установки позиции отображения оси y. Можно задать:'bottom', 'top' и 'center'. По умолчанию — 'center'.。

Пример

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname — это путь к скачанной библиотеке шрифтов, обратите внимание на путь шрифта SourceHanSansSC-Bold.otf, а параметр size задаёт размер шрифта
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf", size=18)
font1 = {'color':'blue','size':20}
font2 = {'color':'darkred','size':15}
x = np.arange(1,11)
y =  2  * x +  5

# fontdict может использовать CSS для настройки стиля шрифта
plt.title("Example Tutorial - Test", fontproperties=zhfont1, fontdict = font1, loc="left")
 
# fontproperties задаёт отображение китайских символов, fontsize задаёт размер шрифта
plt.xlabel("x-axis", fontproperties=zhfont1, loc="left")
plt.ylabel("y-axis", fontproperties=zhfont1, loc="top")
plt.plot(x,y)
plt.show()

Результат вывода следующий:

Другие расширения