В настоящее время я работаю над визуализацией наборов данных с Seaborn и Pandas.У меня есть некоторые зависящие от времени данные, которые я хотел бы отобразить в гистограммах.
Однако я борюсь с двумя проблемами в Seaborn:
- Форматирование дат на оси X
- Показывает только несколько дат (поскольку не имеет смысла отмечать каждый день на 6-месячном графике)
Я нашел решение своих проблем в обычном режиме.Matplotlib, то есть:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dates = pandas.date_range('1/1/2014', periods=20, freq='m')
df = pandas.DataFrame(
data={'dt':dates, 'val':numpy.random.randn(N)}
)
fig, ax = plt.subplots(figsize=(10, 6))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))
ax.bar(df['dt'], df['val'], width=25, align='center')
Тем не менее, у меня уже есть большинство моих графиков, сделанных в Сиборне, и я хотел бы остаться последовательным.Как только я преобразую предыдущий код в Seaborn, я теряю возможность форматировать даты:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dates = pandas.date_range('1/1/2014', periods=20, freq='m')
df = pandas.DataFrame(
data={'dt':dates, 'val':numpy.random.randn(N)}
)
fig, ax = plt.subplots(1,1)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%y-%m'))
sns.barplot(x='dt', y='val', data=df)
fig.autofmt_xdate()
Когда я запускаю код, формат даты остается неизменным, и я не могу найти какие-либо даты с DateLocator.
Можно ли как-нибудь отформатировать мою ось X для дат в Seaborn способом, аналогичным Matplotlib с DateLocator и DateFormatter?
Заранее спасибо.