Рубрики
Без рубрики

Изменение частоты тиков в Matplotlib

В этом уроке мы рассмотрим, как изменить частоту тиков в Matplotlib, как для всего рисунка, так и для настройки частоты тиков на уровне оси с примерами.

Автор оригинала: David Landup.

Изменение частоты тиков в Matplotlib

Вступление

Matplotlib – одна из наиболее широко используемых библиотек визуализации данных в Python. Большая часть популярности Matplotlib связана с его настройками – вы можете настроить практически любой элемент из его иерархии объектов .

В этом уроке мы рассмотрим, как изменить частоту тиков в Matplotlib . Мы сделаем это как на уровне фигуры, так и на уровне оси.

Как изменить частоту тиков в Matplotlib?

Начнем с простого сюжета. Мы построим две линии со случайными значениями:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.subplots(figsize=(12, 6))

x = np.random.randint(low=0, high=50, size=100)
y = np.random.randint(low=0, high=50, size=100)

plt.plot(x, color='blue')
plt.plot(y, color='black')

plt.show()

x и y диапазон от 0-50 , а длина этих массивов равна 100. Это означает, что у нас будет 100 точек данных для каждого из них. Затем мы просто наносим эти данные на объект Axes и показываем их через экземпляр PyPlot plt :

постройте случайный линейный график в matplotlib

Теперь частота тиков на оси X равна 20 . Они автоматически настраиваются на частоту, которая кажется подходящей для набора данных, который мы предоставляем.

Иногда нам хочется что-то изменить. Может быть, мы хотим уменьшить или увеличить частоту. Что, если бы мы хотели иметь галочку на каждые 5 шагов, а не на 20?

То же самое касается и оси Y. Что, если различие на этой оси еще более важно, и мы хотели бы иметь каждый тик на каждом шаге?

Настройка частоты тиков на уровне рисунка в Matplotlib

Давайте изменим частоту тиков на уровне фигуры. Это означает , что если у нас есть несколько осей , то тики на всех них будут одинаковыми и будут иметь одинаковую частоту:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.subplots(figsize=(12, 6))

x = np.random.randint(low=0, high=50, size=100)
y = np.random.randint(low=0, high=50, size=100)

plt.plot(x, color='blue')
plt.plot(y, color='black')

plt.xticks(np.arange(0, len(x)+1, 5))
plt.yticks(np.arange(0, max(y), 2))

plt.show()

Вы можете использовать функции xticks() и yticks() и передать массив. На оси X этот массив начинается с 0 и заканчивается на длине массива x . На оси Y она начинается с 0 и заканчивается на максимальном значении y . Вы также можете жестко закодировать переменные.

Последний аргумент-это шаг . Именно здесь мы определяем, насколько большим должен быть каждый шаг. У нас будет клещ на каждом шагу. 5 шаги по оси X и галочка на каждом 2 шаги по оси Y:

изменение частоты тиков на уровне рисунка matplotlib

Настройка частоты тиков на уровне оси в Matplotlib

Если у вас есть несколько графиков, вы можете изменить частоту тиков на уровне оси. Например, на одном графике вам нужны редкие тики, а на другом-частые.

Вы можете использовать функции set_xticks() и set_yticks() на возвращаемом экземпляре Axes при добавлении подзаголовков к Фигуре . Давайте создадим Фигуру с двумя осями и изменим частоту тиков на них отдельно:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(12, 6))

ax = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

x = np.random.randint(low=0, high=50, size=100)
y = np.random.randint(low=0, high=50, size=100)
z = np.random.randint(low=0, high=50, size=100)

ax.plot(x, color='blue')
ax.plot(y, color='black')
ax2.plot(y, color='black')
ax2.plot(z, color='green')

ax.set_xticks(np.arange(0, len(x)+1, 5))
ax.set_yticks(np.arange(0, max(y), 2))
ax2.set_xticks(np.arange(0, len(x)+1, 25))
ax2.set_yticks(np.arange(0, max(y), 25))

plt.show()

Теперь это приводит к:

изменение частоты тиков на уровне оси в matplotlib

Вывод

В этом уроке мы рассмотрели несколько способов изменения частоты тиков в Matplotlib как на уровне рисунка, так и на уровне оси.

Если вы заинтересованы в визуализации данных и не знаете, с чего начать, обязательно ознакомьтесь с нашей книгой .

Визуализация данных в Python , книга для начинающих и промежуточных разработчиков Python, проведет вас через простые манипуляции с данными с Пандами, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет вам, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair.