所以,我实际上是在后台进行所有的计算,生成一个.png格式的图表,将其保存到一个路径文件中,并通过 AJAX 将链接传递到这个新生成的图像。然而,这样的过程只允许我传输一个图像。我基本上是将绘图转换为图像。
我想知道是否有一种方法来转移整个plotly输出,作为一个交互式图表通过 AJAX 。
import yfinance as yf
import plotly.graph_objects as go
aapl = yf.Ticker('AAPL')
ainfo = aapl.history(start=datemin, end=datemax)
#Plot the Chart
fig = go.Figure(data=go.Scatter(x=ainfo.index,y=ainfo.Close, mode='lines'),)
#DB inject plot
fig.write_image("/Users/Xlibidish/Desktop/Django/static/"+tickerZ+rx+".png")
#And then communicate the path through AJAX etc.
我想把绘图输出发送到我的Webapp。我有一些提示:
1.在我的Webapp中直接用JS生成绘图,所以后端只发送来自yfinance的数据和一个生成它的指令。(相当复杂,尤其是我有各种类型的绘图,它们都是用python生成的,所以Webapp此时只接收图像,而不区分它们)。
1.创建一个指向绘图输出端口的iframe,但不确定这个!另外,我需要将绘图结果保存在数据库中。
只是澄清一下:
#in the previous example:
fig.view()
# will be very different from
fig.write_image()
#One will be a png file, the other a pretty cool interactive chart.
1条答案
按热度按时间8oomwypt1#
试试
fig.to_html()
老实说,我甚至不知道 AJAX 是什么。所以我没有使用AJAX,但我仍然设法在我的“网站”上显示整个交互图表。
也许这给了你一些指导,你可以自己弄清楚 AJAX 部分。
阅读更多关于
include_plotlyjs
here的信息。你可以把它设置为True,然后它会直接包含javascript。我想它大约是3mb。我个人使用CDN。所以看看我的模板:您的模板.html:
是的,没有 AJAX 也能用。祝你好运。