Построение DataFrame всех NaN - PullRequest
       2

Построение DataFrame всех NaN

0 голосов
/ 03 февраля 2019

У меня есть приложение, которое я разрабатываю, и возвращение кадра данных Pandas np.nan с DatetimeIndex - это верный результат.Для запроса нет данных, и мне нужен график для формирования оси с DatetimeIndex без точек данных.Это нарушает представление matplotlib об ограничивающем прямоугольнике, который получает свои пределы от данных, приведенных к плавающим числам.

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

В настоящее время я объединяю фрейм данных с другим, имеющим нули, а затем перебираю столбцы, чтобы установить стиль линии на Нет для фиктивного столбца.

# dummy must also be moved to the end of the dataframe to not
# not break the legend in my app.
ax.plot(df)
dummy_line = ax.get_lines()[-1].set_linestyle('None')

Это действительно уродливый хак, который делает код более сложным и заставляет специальные функции абстрагировать это.

Есть ли более простой способ обойти встроенную функциональность Matplotlib?

Пример

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

index = pd.date_range('2019-01-01T12:00:00', '2019-01-2T12:00:00', freq='3T')
data = [np.nan for i in index]
df = pd.DataFrame({'test':data}, index=index)
fig, ax = plt.subplots(nrows=1)
ax.plot(df)
plt.show()
# Ultimately I want to use date Locators which offer a different
# error b/c there's too many ticks.

Информация о версии

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