通过seaborn seaborn==0.7.0.dev0
创建热图时
我的轴在两小时后开始。
用于创建热图的DataFrame从以下位置开始:
2015-05-19 21:10:00
通过seaborn创建的热图的第一个get_xtick标签是2015-05-19 23:10:00
。
热图是通过
创建的 sns.heatmap(df_test.T, xticklabels=True, yticklabels=True, ax=ax)
我在这里缺少什么? 这个例子(使用seaborn 0.7和0.6)将在一小时后开始,在我的实际数据中甚至是2小时。
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
index = pd.date_range('1/1/2000', periods=60*60*12, freq='s')
df = pd.DataFrame({'a': pd.Series(np.random.randn(len(index)), index=index),
'b': pd.Series(np.random.randn(len(index)), index=index)})
#create boolean vars
df.a = df.a > 0
df.b = df.b > 0
df = df.resample('1Min', how=np.mean)
ax = plt.gca()
fig = plt.gcf()
sns.heatmap(df.T, ax=ax)
#print index
print df.index[0]
#print first xlabel
print ax.get_xticklabels()[0]
[label.set_visible(False) for label in ax.xaxis.get_ticklabels()[1:]]
plt.gcf().autofmt_xdate()
plt.show()
这将产生以下输出
user@debian:/tmp$ python test.py
2000-01-01 00:00:00
Text(0.5,0,u'2000-01-01T01:00:00.000000000+0100')
答案 0 :(得分:1)
好的结果是在创建索引时缺少tz =值,该索引给出了示例代码的偏移量。
我的解决方案(在我的DataFrame中更改tz并未更改此行为)是在xticklabel=False
中设置heatmap()
并直接使用plt.xticks()
。