Как изменить подписи к осям в matplotlib?

Я сделал несколько графиков, длина каждого по оси Ох = 140, но из-за того, что данные я получал с помощью срезов, значения по этой оси идут с 400 до 540. Я хочу изменить их на список значений от 0 до 140 с шагом 10. Как мне это сделать?

Кроме того, я хочу изменить значения по оси Оу с [1, 40] на другой список с сорока значениями?

введите сюда описание изображения


Ответы (1 шт):

Автор решения: strawdog

Нужно приводить свой код в вопросе, потому как не ясно, как именно вы выводите данные на холст - через api или функционально. предположим, вы делаете это функционально. Разберем пример:

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
x = np.random.randint(400, 540, 50)
y = np.random.randint(400, 540, 50)
plt.scatter(x,y)
plt.show()

получим то, что и ожидалось:

введите сюда описание изображения

Вы можете легко поменять шаг меток (локаторы) и их обозначение так:

plt.xticks(range(400, 550, 10), range(0, 150, 10))
plt.scatter(x,y)
plt.show()

здесь в методе plt.xticks() первый аргумент - это фактическое расположение локаторов на ваших реальных данных с нужным шагом. второй аргумент - это подписи к этим локаторам (меткам) в нужном вам диапазоне, с нужным вам шагом. разумеется, и первый и второй аргументы принимают любые iterables с соответствующей размерностью.

введите сюда описание изображения

Аналогично с осью y - через параметр plt.yticks()

→ Ссылка