1,135 바이트 추가됨
, 2023년 1월 13일 (금) 22:21
== 개요 ==
matplotlib 등에서 만든 이미지는 일반적으로 static 파일로 저장 후 보여주는 게 정석과 같다. 하지만.. 굳이 데이터로 남기지 않고 바로 보여주고 싶은 심보는 어찌하리오.
== view.py ==
아래와 같은 방식으로 구성한다.<syntaxhighlight lang="python">
from io import BytesIO
import matplotlib.pyplot as plt
import base64
# 아래는 선택사항
import matplotlib.font_manager as fm # 한글폰트를 사용하기 위해.
import seaborn as sns
# 그림그리기.
plt.figure(figsize=(10, 12))
sns.heatmap(df.corr(), linewidths=0.1, vmax=0.5, cmap=plt.cm.gist_heat, linecolor='white', annot=True)
buffer = BytesIO()
plt.savefig(buffer, format='png')
buffer.seek(0)
image_png = buffer.getvalue()
buffer.close()
graphic = base64.b64encode(image_png)
graphic = graphic.decode('utf-8')
context['graphic'] = graphic
return render(request, 'utility/data_analysis/correlation.html', context)
</syntaxhighlight>
== template ==
다음과 같이 작성한다.
<nowiki><img src="data:image/png;base64,{{ graphic|safe }}"></nowiki>
[[분류:장고 기능구현(초급)]]