Как исправить проблемы с размером, используя колбу и matplotlib для создания графиков? - PullRequest
2 голосов
/ 27 мая 2019

введите описание изображения здесь Я настраиваю веб-приложение, и я хочу иметь возможность создавать графики, используя matplotlib и колбу. Для одного из графиков мне пришлось использовать «plt.tight_layout ()», чтобы иметь возможность читать метки. Теперь моя проблема заключается в том, что я бы отрегулировал размер графиков так, чтобы в обоих из них были одинаковые размеры по оси Y.

Я использую среду anaconda Python 2.7.16 в macOS Mojave (версия 10.14.4).

Я пытался использовать следующие функции: plt.rcParams ["figure.figsize"] = (5,1) plt.figure (figsize = (5,1))

Единственная работающая функция: plt.gcf (). set_size_inches (9.0, 1.78) но я не могу настроить его вручную

from flask import Flask, request, redirect, g, render_template
import requests
import base64
from cStringIO import StringIO
import matplotlib.pyplot as plt
from matplotlib.figure import Figure

app = Flask(__name__)

@app.route("/callback/")
def song_analysis():

    # Making a plot
    img = StringIO()
    plt.scatter(names,valence, color=[ 'deeppink','lightpink','lime','orange','blue','green','red','cyan','magenta','yellow','black','white','wheat', 'black', 'indigo', 'snow', 'orchid', 'steelblue', 'grey','aqua'])
    plt.xticks([])
    plt.tight_layout() 
    plt.savefig(img,format='png')
    plt.close()
    img.seek(0)
    plot_url = base64.b64encode(img.getvalue())

    img2= StringIO()
    plt.scatter(names,speechiness, color=[ 'deeppink','lightpink','lime','orange','blue','green','red','cyan','magenta','yellow','black','white','wheat', 'black', 'indigo', 'snow', 'orchid', 'steelblue', 'grey','aqua'])
    plt.xticks(rotation=90)
    plt.tight_layout()
    plt.savefig(img2,format='png')
    plt.close()
    img2.seek(0)
    plot_url2 = base64.b64encode(img2.getvalue())

    return render_template("index.html", info_name = [display_name],  plot_url=plot_url, plot_url2=plot_url2)


if __name__ == "__main__":
    app.run(debug=True,port=PORT)

Включение этих строк в html-файл:

<img src="data:image/png;base64, {{ plot_url }}" width="800">
<img src="data:image/png;base64, {{ plot_url2 }}" width="800">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...