Как ограничить количество графиков matplotlib, отображаемых на странице html, с помощью flask - PullRequest
0 голосов
/ 18 апреля 2020

Я создаю веб-сервис, используя Flask, который будет отображать графики matplotlib в браузере. Но если количество отображаемых графиков увеличивается, размер графиков становится очень маленьким. Я хочу отображать максимум 12 графиков на странице, пользователь должен прокрутить вниз, чтобы просмотреть другие графики.

Это начальное меню

Вот как отображаются графики сейчас.

Это код, который создает фиговый объект

fig, axs=plt.subplots(rows,columns, squeeze=False)
    fig.suptitle('Vertically.stacked_subplots')
    row=0
    column=0
    for data in datalist:
        axs[row,column].plot(data)
        column+=1
        if(column==column_max):
            column=0
            row+=1
    return fig

Часть кода, используя Flask

@app.route('/', methods=['GET', 'POST'])        
def home():
    if request.method == 'POST':
        option = int(request.form['option'])
    if option==1:
        return redirect(url_for('click', option=option,user='all', cat='all' ))
    if option==2:
        user_name= request.form['viewbyuser1']
        return redirect(url_for('click', option=option, user=user_name, cat='all'))
    if option==3:
        category=request.form['viewbycategory1']
        return redirect(url_for('click', option=option, user='all', cat=category))
    if option==4:
        user_name= request.form['viewbyusr1']
        category=request.form['viewbycat1']
        return redirect(url_for('click', option=option,user=user_name, cat=category))                      

    return render_template('graph_option.html')    

@app.route('/<option>/<user>/<cat>')
def click(option, user, cat):
    option=int(option)
    if option==1:
        fig=obj1.ViewAll()

    if option==2:
        fig = obj1.ViewByUser(user)

    if option == 3:
        fig = obj1.ViewByCat(cat)

    if option == 4:
        fig = obj1.ViewByCatUser(cat, user)

    return mpld3.fig_to_html(fig)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...