如何从investpy导入然后绘图?

How to import from investpy and then plot?

我想从某个日期获取纳斯达克的漂亮折线图(来自 investpy 的数据),但由于某种原因,该图没有显示(即使它运行没有错误)

import investpy as inv
import matplotlib.pyplot as plt
import pandas as pd

TICKER = "Nasdaq 100"
COUNTRY = "United States"
FROM_DATE = "01/03/2022"
TO_DATE = "07/03/2022"

historical_data = inv.indices.get_index_historical_data(index=TICKER,
                                        country=COUNTRY,
                                        from_date=FROM_DATE,
                                        to_date=TO_DATE)

data = historical_data.reset_index()

data.plot(x = 'Date', y = 'Close')
print(data)
plt.show

这是打印函数中数据框的样子。

           Date      Open      High       Low     Close     Volume Currency
0    1985-09-26    110.64    110.64    110.64    110.64          0      USD
1    1985-09-27    110.64    110.64    110.64    110.64          0      USD
2    1985-09-30    110.62    110.62    110.62    110.62          0      USD
3    1985-10-01    112.14    112.14    112.14    112.14          0      USD
4    1985-10-02    110.84    110.84    110.84    110.84          0      USD
...         ...       ...       ...       ...       ...        ...      ...
9181 2022-03-01  14197.66  14271.54  13907.94  14005.99  262503616      USD
9182 2022-03-02  14072.79  14290.67  13974.40  14243.69  232912464      USD
9183 2022-03-03  14335.16  14341.12  13965.59  14035.21  230210736      USD
9184 2022-03-04  13957.60  13992.81  13738.61  13837.83  244425040      USD
9185 2022-03-07  13855.48  13876.28  13314.68  13319.38  304169408      USD

[9186 rows x 7 columns]

你能告诉我我做错了什么吗?

提前致谢...

这应该有效:

import investpy as inv
import matplotlib.pyplot as plt
import pandas as pd

TICKER = "Nasdaq 100"
COUNTRY = "United States"
FROM_DATE = "01/03/2022"
TO_DATE = "07/03/2022"

historical_data = inv.indices.get_index_historical_data(index=TICKER,
                                        country=COUNTRY,
                                        from_date=FROM_DATE,
                                        to_date=TO_DATE)

data = historical_data.reset_index()

data.plot(x = 'Date', y = 'Close')
print(data)
plt.show()

我只在末尾添加了括号,因为如果那样调用 plt.show 将不起作用。只有当你像 plt.show().

这样称呼它时它才会起作用

我建议使用 DataFrame.plot.line "Plot Series 或 DataFrame 作为线条。 此函数对于使用 DataFrame 的 值作为坐标绘制线条很有用。"

您可以使用:

data.plot.line(x='Date', y='Close')

# or a simple call

data.plot.line()