1

我正在使用 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" 

我尝试了这种保存图像并将其传递到前面的方法,但在这里我无法避免图表图的打开,有没有人知道在这个烧瓶项目中将这些图表传输到前端 Html 页面的更好方法

4

1 回答 1

0

您可以将您的图形保存到一个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 
于 2021-06-08T17:40:11.517 回答