【发布时间】:2017-08-08 20:22:07
【问题描述】:
我有两个时间索引系列,我想绘制它们并共享 x 轴(FEATURE 的范围包含 X 的范围):
import pandas as pd
import matplotlib.pyplot as plt
import datetime
start = pd.Timestamp('2017-01-01 08:00:00')
end = pd.Timestamp('2017-01-01 10:00:00')
X = pd.Series([1, 2, 3],
[pd.Timestamp('2017-01-01 08:30:00'),
pd.Timestamp('2017-01-01 09:30:00'),
pd.Timestamp('2017-01-01 10:30:00')],
)
FEATURE = pd.Series([0, 4, 2],
[pd.Timestamp('2017-01-01 08:00:00'),
pd.Timestamp('2017-01-01 09:00:00'),
pd.Timestamp('2017-01-01 10:00:00')]
)
f, (ax1, ax2) = plt.subplots(2, 1, sharex='all')
X[start:end].plot(ax=ax1)
FEATURE.plot(ax=ax2)
plt.show()
但只显示 FEATURE。如果我把 X 放在最后,那么只会显示 X。
【问题讨论】:
-
X 和 Feature 在 x 轴上的范围似乎不同。因此,在这种情况下,共享轴可能没有太大意义。由于
compute_feature在这里是一个秘密,所以没有更多可以告诉的。 -
compute_feature 是指数加权移动平均线,但我认为它没有帮助。这是有道理的:我想在 Feature 的轴上表示 X。
-
可能,没人知道。如果您提供minimal reproducible example,人们可以对其进行测试。
-
@ImportanceOfBeingErnest 谢谢你,我做到了。
-
所以这与sharex无关。如果你把它排除在外,仍然会发生奇怪的事情(只有一个轴有刻度)。我不确定究竟是什么原因造成的,但稍后会更深入地研究它。
标签: pandas matplotlib