добавление дополнительных осевых тиков с использованием matplotlib

У меня есть простой код

plt.plot(x,y) plt.show() 

Я хочу добавить дополнительные тики на оси x в дополнение к текущим, скажем, в

 extraticks=[2.1, 3, 7.6] 

Как вы видите, у меня нет шаблона для тиков, поэтому я не хочу увеличивать частоту тиков для всей оси; просто сохраните оригинальные и добавьте эти дополнения …

Это вообще возможно?

С уважением

  • pandas 3x3 рассеянная матрица отсутствует ярлыки
  • Как построить pandas multiindex dataFrame со всеми xticks
  • Морские участки не появляются
  • стройный и matplotlib point-in-polygon неточный с геолокацией
  • Как оживить упорядоченную по времени последовательность графиков matplotlib
  • Стереографическая диаграмма солнца matplotlib полярный график python
  • Python, Matplotlib, subplot: Как установить диапазон осей?
  • Интерактивное масштабирование Pyplot
  • 2 Solutions collect form web for “добавление дополнительных осевых тиков с использованием matplotlib”

    Да, вы можете попробовать что-то вроде:

     plt.xticks(list(plt.xticks()[0]) + extraticks) 

    Используемая функция – xticks() . При вызове без аргументов он возвращает текущие тики. Вызывая его с помощью аргументов, вы можете установить позиции тика и, при необходимости, метки.

    Ради полноты я хотел бы дать версию OO отличного ответа @ Lev-Levitsky:

     lines = plt.plot(x,y) ax = lines[0].axes ax.set_xticks(list(ax.get_xticks()) + extraticks) 

    Здесь мы используем объект Axes извлеченный из последовательности Lines2D , возвращаемой Lines2D . Обычно, если вы используете интерфейс OO, у вас уже будет ссылка на Axes спереди, и вы будете называть plot на этом, а не на pyplot .

    Углубление

    Если по какой-то причине вы изменили свои пределы оси (например, путем программного масштабирования части данных), вам необходимо будет восстановить их после этой операции:

     lim = ax.get_xlim() ax.set_xticks(list(ax.get_xticks()) + extraticks) ax.set_xlim(lim) 

    В противном случае график заставит ось x показать все доступные тики на оси.

    Python - лучший язык программирования в мире.