Matplotlib чертит юлианские дни в значениях X python - PullRequest
1 голос
/ 13 апреля 2020

Добрый день, у меня проблемы с построением гистограммы значений x от 16000 до 17000, и я не уверен, как это исправить. Заранее спасибо.

plt.title("Site Data Availability")
plt.xlabel("Julian Year Dates (YYDDD)")
plt.ylabel("Instrument Sites")
plt.axhline(y="BTK", color='r', linestyle='-', linewidth=10)
plt.axhline(y="BTK", xmin=16000, xmax=17000, color='b', linestyle='-', linewidth=10) #issues with this line
plt.xlim(15000, 20000)
plt.xticks(rotation=90)

plt.show()

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

Отредактируйте вашу строку для:

plt.axhline(y="BTK", xmin=.2, xmax=.4, color='b', linestyle='-', linewidth=10)

Объяснение: xmin и xmax должны иметь значение от 0 до 1.

В вашем коде 0 представлено 15000 и 1 соответствует 20000.

Вы можете использовать линейный интерполятор и выяснить% от 16000 (0,2) и 17000 (0,4).

0 голосов
/ 13 апреля 2020

Использование hlines:

plt.title("Site Data Availability")
plt.xlabel("Julian Year Dates (YYDDD)")
plt.ylabel("Instrument Sites")
plt.axhline(y="BTK", color='r', linestyle='-', linewidth=10)
plt.hlines(y="BTK", xmin=16000, xmax=17000, color='b', linestyle='-', linewidth=10, zorder=10) #issues with this line
plt.xlim(15000, 20000)
plt.xticks(rotation=90)

plt.show()

Выход:

enter image description here

Где

  • axhline - добавить горизонтальную линию поперек оси.
  • hlines - добавить горизонтальные линии в координатах данных. Постройте горизонтальные линии на каждом y от xmin до xmax.
...