我正在运行下面提到的代码来创建一个带有跟踪的烛台图,但是当出现异常时,出现了一个错误: AttributeError 'dict‘对象没有属性'add_trace’。
代码如下
import pandas as pd
import plotly.graph_objects as go
import yfinance as yf
import plotly.offline
from plotly.offline import init_notebook_mode, iplot, iplot_mpl
a=input("Enter symbol of the company\n")
tick1=a+'.NS'
HD=yf.Ticker(tick1)
His=HD.history(period='3mo',interval='1d')
His.reset_index(inplace=True)
His['20wma']=His['Close'].rolling(window=140).mean()
fig={"data":[go.Candlestick(x=His['Date'],open=His['Open'],high=His['High'],low=His['Low'],close=His['Close'])]}
fig.add_trace(go.Scatter(x=His['Date'],y=His['20wma'],line=dict(color="e0e0e0")))
plotly.offline.plot(fig)发布于 2022-02-16 08:25:48
对于graph_objects,go.Figure()是编写它的正确方法。图()是正确的写法。而颜色设置需要十六进制符号#。
import pandas as pd
import plotly.graph_objects as go
import yfinance as yf
import plotly.offline
from plotly.offline import init_notebook_mode, iplot, iplot_mpl
a=input("Enter symbol of the company\n")
tick1=a # edit
# rick1=a+'.NS'
HD=yf.Ticker(tick1)
His=HD.history(period='3mo',interval='1d')
His.reset_index(inplace=True)
His['20wma']=His['Close'].rolling(window=20).mean()
fig=go.Figure(data=(go.Candlestick(
x=His['Date'],
open=His['Open'],
high=His['High'],
low=His['Low'],
close=His['Close'])))
fig.add_trace(go.Scatter(
x=His['Date'],
y=His['20wma'],
mode='lines',
line=dict(color="#e0e0e0")))
plotly.offline.plot(fig)

发布于 2022-02-16 08:01:26
您可以从字典或图形对象创建数字。
在您的示例中,您将fig创建为一个标准的python字典。只有当你绘制它时,它才会变成一个图形对象。add_trace不是字典的有效python命令,这就是它失败的原因。
您希望创建一个图形对象,您可以将add_trace应用于该对象。请参阅这里
https://stackoverflow.com/questions/71137982
复制相似问题