我正在做一个flask项目,在这个项目中我使用mplfinance库来创建烛台图,我需要将这个图表传递给前端。
@app.route('/chartdata', methods =['POST'])
def chart_data():
if request.method == 'POST':
body = request.json
df = pd.read_csv('test_data.csv',index_col=0,parse_dates=True)
df.index.name = 'Date'
mplfinance.plot(df, type = 'candle',style ='yahoo',savefig ="sample.png")
return "image to transferred"
我尝试了这种保存图像并将其传递到前端的方法,但在这里我无法避免打开图表,有谁知道更好的方法来将这些图表转移到这个flask项目的前端Html页面
发布于 2021-06-09 01:40:12
您可以将图形保存到io.BytesIO对象并将其发送到前端,就像这里的https://mellowd.dev/python/using-io-bytesio/
mplfinance.plot(...)对此有一个savefig参数,请参阅https://github.com/matplotlib/mplfinance/blob/master/src/mplfinance/plotting.py#L171
下面这样的内容需要测试,因为mplfinance.plot()没有图像格式的关键字。
import io
@app.route('/chartdata', methods =['POST'])
def chart_data():
if request.method == 'POST':
body = request.json
df = pd.read_csv('test_data.csv',index_col=0,parse_dates=True)
df.index.name = 'Date'
b = io.BytesIO()
mplfinance.plot(df, type = 'candle',style ='yahoo', savefig=b)
return b https://stackoverflow.com/questions/67891978
复制相似问题