Я хотел отправить график matplot в виде графика в мой шаблон django, а не как изображение в шаблон. Как я могу достичь этого?
Это мой пример кода, который успешно генерирует график и отправляет его в виде изображения, но я хочу отправить его только в виде графика, чтобы, если в моем шаблоне кто-то зависал в точке данных, он отображал аннотацию, но сохранение в виде изображения не работало так отправка в виде графика в шаблон.
def graph(request):
register_matplotlib_converters()
dates_in_string = ['2010-01-01', '2010-01-02', '2010-01-03', '2010-01-04', '2010-01-21']
dates_datetime = []
m = pd.date_range('2015-07-03', '2015-07-20')
print(m)
for d in dates_in_string:
dates_datetime.append(datetime.datetime.strptime(d, '%Y-%m-%d'))
dates_float = matplotlib.dates.date2num(dates_datetime)
list1 = [0,0,1,4,5,6,3,44,4,6,3,4,5,6,7,8,9,4]
plt.grid(True)
plt.plot_date(m, list1, linestyle='-', tz=None, xdate=True, ydate=False, label="chat-clicks")
plt.title("Chat click Analysis")
plt.ylabel("Chat clicks")
plt.xlabel("Day")
plt.legend(loc='upper left')
# for i,j in zip(m,list1):
# plt.annotate(str(j),xy=(i,j))
mplcursors.cursor(hover=True)
plt.savefig("graph.png")
# plt.show()
figfile = BytesIO()
plt.savefig(figfile, format='png', dpi=300)
figfile.seek(0)
figdata_png = base64.b64encode(figfile.getvalue()).decode('utf-8').replace('\n', '')
figfile.close()
result = figdata_png
return render(request,'graph.html', {"result":result})