如何找到高低线的趋势线?

时间:2020-04-27 06:44:10

标签: python pandas matplotlib jupyter-notebook data-science

我一直在使用依赖数据集。我的数据集看起来像这样。

Date        Open    High        Low         Close       Adj Close   year_month
2019-04-15  1345.0  1348.949951 1335.000000 1340.150024 1332.769409 2019-04
2019-04-16  1345.0  1360.000000 1340.000000 1343.750000 1336.349609 2019-04
2019-04-18  1375.0  1389.750000 1365.000000 1385.949951 1378.317139 2019-04
2019-04-22  1360.0  1367.000000 1341.300049 1345.349976 1337.940796 2019-04
2019-04-23  1348.0  1373.000000 1346.000000 1363.849976 1356.338867 2019-04 

这是我的代码,但是如果我们看到图表,则x轴看起来很乱

f,ax1 = plt.subplots(figsize=(8, 5))
ax1.set_xlabel('Date')
ax1.set_ylabel('Price')
ax1.set_title('Original Plot')
ax1.plot('Date', 'Adj Close', data = df);

输出:-

Output1

所以我使用了另一个功能,但该数字与以前不同。

f,ax1 = plt.subplots(figsize=(15, 5))
ax1.set_xlabel('Date')
ax1.set_ylabel('Price')
ax1.set_title('Original Plot')
ax1.plot('year_month', 'Adj Close', data = df);

输出:- output2

预期输出:-(注意:-这只是一个例子。该数字与我的数据集无关)

output3

希望尽快得到答复。预先感谢大家。

1 个答案:

答案 0 :(得分:1)

您所遇到的问题只是确定x轴上的刻度。我创建了dummy data来证明我的观点。

在设置xticks之前,图形如下所示:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("test.csv")
f,ax1 = plt.subplots(figsize=(15, 5))
ax1.set_xlabel('Date')
ax1.set_ylabel('Price')
ax1.set_title('Original Plot')
ax1.plot('Date', 'Price', data = df)

enter image description here

这是设置xticks之后的图形;您只需在plt.show()

前写以下两行即可
ax1.set_xticks(ax1.get_xticks()[::30])
plt.xticks(rotation=45)

enter image description here

希望这能回答您的问题!