Как использовать третий столбец данных в качестве меток / осей оси x в разбросе matplotlib - PullRequest
0 голосов
/ 15 марта 2020

Сегодня я изо всех сил пытаюсь обернуть голову вокруг matplotlib с данными. Я вижу много решений, но я изо всех сил стараюсь связать их с моими потребностями. Я думаю, что мне может понадобиться начать все сначала. Давайте посмотрим, что вы думаете.

У меня есть датафрейм (ephem) с 4 столбцами - Время , Дата , Высота & Азимут .

Я делаю разброс для alt & az , используя:

chart = plt.scatter(ephem.Azimuth, ephem.Altitude, marker='x', color='black', s=8)

Какой самый эффективный способ установить значения в столбце Time как метки / метки на оси x?

Итак:

  • масштаб / линии сетки и c все остаются неизменными
  • график все еще отображается alt и az
  • отметки / метки оси y остаются как есть
  • только метки / метки оси x заменяются на столбец Time.

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 марта 2020

Другими словами, вы хотите изменить метки оси X, используя список значений.

labels = ephem.Time.tolist()
# make your plot and before calling plt.show()
# insert the following two lines
ax = plt.gca()
ax.set_xticklabels(labels = labels)

plt.show()
0 голосов
/ 15 марта 2020

Это ни в коем случае не самый чистый кусок кода, но у меня работает следующее:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.scatter(ephem.Azimuth, ephem.Altitude, marker='x', color='black', s=8)
labels = list(ephem.Time)
ax.set_xticklabels(labels)
plt.show()

Здесь вы явно принудительно установите set_xticklabels в имеющийся у вас столбец Timeframe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...