0

以下是我的代码,但即使我在 Python 交互窗口上运行它,我也无法在我的 Visual Studio 代码上显示该图,它通常在运行后应该显示一个图表。表格显示得很好。我也没有像通常那样弹出默认图表。我究竟做错了什么?

import yfinance as yf
import pandas as pd
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
import talib

df = pd.read_csv('filename.csv')
df = df.sort_index()
macd, macdsignal, macdhist = talib.MACD(df['Close'], fastperiod=12, slowperiod=26, signalperiod=9)
macd = macd.to_list()
macdsignal = macdsignal.to_list()
macdhist = macdhist.to_list()

df['macd'], df['macdsignal'], df['macdhist'] = macd,macdsignal,macdhist  

ax = plt.gca()
print(df.columns)
df.plot(kind='line',x='Date',y='macd', color='blue',ax=ax)
df.plot(kind='line',x='Date',y='macdsignal', color='red', ax=ax)

plt.show()

csv 文件的数据如下所示 在此处输入图像描述

4

1 回答 1

0

问题在于 matplotlib.use('agg'),它不支持 show() 函数。这阻止了图表显示在 Visual Studio 的交互式窗口上。但是,matplotlib.use('agg') 方法可用于将图形保存为 .png 格式。

根据 Matplotlib.org,agg 是“用户界面的规范渲染器,它使用 Anti-Grain Geometry C++ 库来制作图形的光栅(像素)图像”。更多信息可以在此链接中找到

于 2020-05-26T14:35:18.690 回答