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

Введение Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. Большая часть популярности Matplotlib связана с его параметрами настройки - вы можете настроить практически любой элемент из его иерархии объектов. В этом руководстве мы рассмотрим, как изменить частоту тиков в Matplotlib. Мы сделаем это как на уровне фигуры, так и на уровне оси. Как изменить частоту тиков в Matplotlib? Начнем с простого сюжета. Мы построим две линии со случайным v

Вступление

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{.ezlazyload}

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

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

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

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

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

 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 . Вы также можете жестко закодировать переменные.

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

изменить частоту тиков на уровне фигурыmatplotlib{.ezlazyload}

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

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

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

 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{.ezlazyload}

Заключение

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

Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python{.ebook-link} :

::: {style=“border: 1px solid #ebebeb;padding: 15px;”} {.ebook-link}

Визуализация данных в Python

::: {.row} ::: {.col-md-4 .col-xs-12} {.ezlazyload .img-responsive .center-block} :::

::: {.col-md-8 .col-xs-12 .my-auto} Станьте опасными с визуализацией данных

✅ 30-дневная гарантия возврата денег без вопросов

✅ от начального до продвинутого

✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)

✅ Обновлено с бонусными ресурсами и руководствами ::: ::: :::

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

Он служит подробным руководством, которое научит вас всему, что вам нужно знать о Pandas и Matplotlib, в том числе о том, как создавать типы графиков, которые не встроены в саму библиотеку.

Книга «Визуализация данных в Python» , книга для начинающих и средних разработчиков Python, проведет вас через простые манипуляции с данными с помощью Pandas, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. В частности, на протяжении 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.

Он служит уникальным практическим руководством по визуализации данных в виде множества инструментов, которые вы можете использовать в своей карьере.

comments powered by Disqus

Содержание