Как установить количество тиков и меток pyplot

Есть ли способ разделить ось на определенное количество тиков, а затем пометить их? Например, у меня есть следующий график, и я хочу иметь 4 отметки по оси x и иметь возможность самостоятельно устанавливать метки.

Как установить количество тиков и меток pyplot

и вот чего я хочу добиться (обратите внимание, что два графика одинаковы):

Как установить количество тиков и меток pyplot

и это сценарий, который я использую для создания сюжета:

import matplotlib.pyplot as plt
plt.imshow(data, cmap=plt.cm.jet)
plt.colorbar()
plt.show()

Я могу разделить ось с помощью этого: plt.locator_params(axis='x', nbins=4), но я не мог установить метки сам.

Вы имеете в виду, что хотите установить числа на «линейке»? я имею в виду, вы хотите установить эти числа: 0, 0.5, 1, 1.5 на оси?

AcaNg 16.07.2019 04:12

Я так думаю. Точно так же, как красный сюжет. (сюжет один и тот же и построен на одних и тех же данных. Просто линейки разные.

S_M 16.07.2019 08:16

попробуйте это: plt.yticks(np.arange(-1, 1.25, 0.25)) и plt.xticks(np.arange(-1, 1.25, 0.25))

AcaNg 16.07.2019 08:18

Это не работает: plt.xticks(np.arange(-1, 1.25, 0.25)) просто показывает -1 to 1 слева от оси x синего графика с исходной линейкой.

S_M 16.07.2019 08:27

Вам нужно использовать аргумент imshowextent. Я думаю, что есть достаточно вопросов и ответов по этому вопросу, когда вы знаете, что искать.

ImportanceOfBeingErnest 16.07.2019 11:16

Не могли бы вы подробнее рассказать об использовании extent в моем случае? @ImportanceOfBeingErnest

S_M 16.07.2019 21:30
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
6
120
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как упомянул @ImportanceOfBeingErnest, использование imshowextent было ответом:

plt.imshow(data, extent=[0,1.5,3,0], cmap=plt.cm.jet)

Другие вопросы по теме