Почему матовый_приложение matplotlib меняет мои xticklabels? - PullRequest
1 голос
/ 03 июня 2019

Вот минимальный рабочий пример:

import pandas as pd
import matplotlib.pyplot as plt

ex2 = pd.DataFrame.from_dict({'values': {'2019-05-16': -0.4539503789160822,
  '2019-05-17': 0.17824705254564818,
  '2019-05-18': -0.8145004682381226,
  '2019-05-19': -0.16068367742158898,
  '2019-05-20': -0.14703503546059876,
  '2019-05-21': 0.4063766692521381,
  '2019-05-22': -0.9572965166800591,
  '2019-05-23': -0.7125760201598659,
  '2019-05-24': 0.5195104837966258,
  '2019-05-25': 0.5763244454664754,
  '2019-05-26': 0.7512143968738716,
  '2019-05-27': 0.9708304482205082,
  '2019-05-28': 0.910905683484745,
  '2019-05-29': -0.19652191338402258,
  '2019-05-30': -0.7913575644422205,
  '2019-05-31': 0.406385536323757,
  '2019-06-01': -0.9636746362006964,
  '2019-06-02': -0.6904113830684114,
  '2019-06-03': -0.4015962383225227}})

Следующий код работает, как и ожидалось:

fig, ax = plt.subplots(figsize=(12, 8))
ex2.plot(ax=ax)

working as expected

Тем не менее, выполнение точного действия, а простое добавление команды tight_layout ломает ее таким странным образом:

fig, ax = plt.subplots(figsize=(12, 8))
ex2.plot(ax=ax)
fig.tight_layout()

xticklabels are now incorrect

Это похоже на ошибкуНо если бы не я, я был бы признателен, чтобы выяснить, что происходит.

Я использую следующие версии:

matplotlib version: 3.1.0
python version: 3.6.8
pandas version: 0.24.2

РЕДАКТИРОВАТЬ

Изменение индекса на datetime с помощью:

ex2.index = pd.to_datetime(ex2.index)

А затем повторный запуск двух приведенных выше фрагментов кода дает (в данном случае) согласованные результаты.

fig, ax = plt.subplots(figsize=(12, 8))
ex2.plot(ax=ax)
fig.tight_layout()

correct xticklabels

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