Повторные изображения показаны в приложении Flask (с использованием base64) - PullRequest
0 голосов
/ 28 сентября 2018

Я делаю веб-приложение для простых телекоммуникационных вещей, и у меня возникли некоторые проблемы.Это мой код для отображения диаграмм для коэффициента битовых ошибок BPSK и DPSK.

BPSK:

@app.route('/bpsk')
def bpsk():
img = io.BytesIO()
EbN0_dB = []
loi = []
i = 0
while i <= 24:
    EbN0_dB.append(i)
    i += 1
for item in EbN0_dB:
    EbN0 = 10**(item/10)
    BER = 1/2*erfc(sqrt(EbN0))
    loi.append(BER)

plt.semilogy(EbN0_dB, loi, 'c-s', label = "BPSK")
plt.legend()
plt.grid(True)
plt.ylabel('BER')
plt.xlabel('Eb/N0 (dB)')
plt.title('Bit Error Rate for Binary Phase-Shift Keying')
plt.savefig(img, format='png')
img.seek(0)

plot_url = base64.b64encode(img.getvalue()).decode()

return render_template('plot.html', plot_url=plot_url)

DPSK:

@app.route('/dpsk')
def dpsk():
imga = io.BytesIO()
EbN0_dB = []
loi = []
i = 0
while i <= 24:
    EbN0_dB.append(i)
    i += 1
for item in EbN0_dB:
    EbN0 = 10**(item/10)
    BER = 1/2*exp(-EbN0)
    loi.append(BER)

plt.semilogy(EbN0_dB, loi,'m-s', label = "DPSK")
plt.legend()

plt.grid(True)
plt.ylabel('BER')
plt.xlabel('Eb/N0 (dB)')
plt.title('Bit Error Rate for Differential Phase Shift Keying')
plt.savefig(imga, format='png')
imga.seek(0)

plot_urla = base64.b64encode(imga.getvalue()).decode()

return render_template('plot.html', plot_url=plot_urla)

plot.html:

{% extends 'base.html' %}

{% block app_content %}
<h1> This is a chart I just created! </h1>
<br>
<body>
<img src="data:image/png;base64, {{ plot_url }}">
</body>
{% endblock %}

Вот результат, который я получил: BPSK DPSK

Как вы можете видеть, когда я впервые показал диаграмму BPSK, все было в порядке.Но когда я пришел в DPSK one, предыдущая синяя линия диаграммы BPSK не исчезла, она все еще была там с новой фиолетовой линией DPSK.Как я могу показать только новые изображения, не оставляя предыдущих?

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