导入错误:无法从“mplfinance”导入名称“candlestick_ohlc” - NG.L Stock Candlestick Chart.py

问题描述

2021 年 6 月,我运行了一个 Python 股票脚本,从雅虎财经网站获取数据,以显示 National Grid plc 股票的日本烛台图。

不幸的是,当我在 2021 年 7 月 10 日尝试运行该程序时,该程序现已停止工作,但我已将 mpl_finance 更改为 mplfinance。

mpl_finance 和 mplfinance 软件包已升级,但我现在收到此错误

导入错误:无法从“mplfinance”导入名称“candlestick_ohlc”

import datetime as dt
import pandas_datareader as web
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from mplfinance import candlestick_ohlc

# Define Time Frame
start = dt.datetime(2021,6,2) # National Grid plc shares were bought on 02/06/2021
end = dt.datetime.Now() # Current Time

# Load Data from yahoo API
ticker = 'NG.L'
data = web.DataReader(ticker,'yahoo',start,end)
print(data.columns)

# Stock Market Prices during work day
data = data[['Open','High','Low','Close']]
data.reset_index(inplace=True)
data['Date'] = data['Date'].map(mdates.date2num)

# Visualization of candlestick chart
ax = plt.subplot()
ax.grid(True)
ax.set_axisbelow(True)
ax.set_title('{}  - NATIONAL GRID PLC - JUNE 2021 - PRESENT'.format(ticker),color='black')
ax.set_facecolor('white')
ax.figure.set_facecolor('lightgray')
ax.tick_params(axis='x',colors='black')
ax.tick_params(axis='y',colors='black')
ax.xaxis_date()
candlestick_ohlc(ax,data.values,width=0.5,colorup='forestgreen',colordown='orangered') # Colours for Japanese candlesticks
plt.xlabel('TIMELINE OF NG.L STOCK',color='black')
plt.ylabel('STOCK PRICE IN BRITISH POUND STERLING',color='black')
plt.show()

直到最近我都没有遇到过类似的脚本问题,这令人沮丧。

我安装了 Anaconda3(Python 3.8.8 64 位)和 Python 3.9.6(64 位)。我使用的 IDE 是 PyScripter 和 Visual Studio Code。

感谢任何帮助我解决此问题的帮助。

解决方法

要使用旧的 candlestick_ohlc API,您必须将上面代码中的导入从:

from mplfinance import candlestick_ohlc

from mplfinance.original_flavor import candlestick_ohlc