введите описание изображения здесь Я настраиваю веб-приложение, и я хочу иметь возможность создавать графики, используя 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">