Veuillez vous référer aux Articles précédents pour la création de graphes sans japonais.
Préparez un fichier de police japonais approprié et ajoutez-le à git. [Noto] de Google (http://googledevjp.blogspot.jp/2014/07/noto.html).
$ cd qiita-sin
$ mkdir fonts
$ cp .../NotoSansCJKjp-Medium.otf fonts/
app.py
#!/bin/env python
# coding: utf-8
import os
import StringIO
from flask import Flask, render_template
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
import numpy as np
fontprop = FontProperties(fname='./fonts/NotoSansCJKjp-Medium.otf', size=10)
app = Flask(__name__)
app.debug = True
@app.route('/')
def do_sin():
x = np.arange(-np.pi, np.pi, 0.1)
y = np.sin(x)
fig, ax = plt.subplots(1)
plt.plot(x, y, label="sin")
plt.legend(loc="best")
strio = StringIO.StringIO()
fig.savefig(strio, format="svg")
plt.close(fig)
strio.seek(0)
svgstr = strio.buf[strio.buf.find("<svg"):]
return render_template("sin.html", svgstr=svgstr.decode("utf-8"))
@app.route('/sin-jp')
def do_sin_jp():
x = np.arange(-np.pi, np.pi, 0.1)
y = np.sin(x)
fig, ax = plt.subplots(1)
plt.plot(x, y, label=u"courbe de péché")
plt.legend(loc="best", prop=fontprop)
ax.set_title(u"tester", font_properties=fontprop)
ax.set_xlabel(u"axe x", font_properties=fontprop)
ax.set_ylabel(u"axe y", font_properties=fontprop)
strio = StringIO.StringIO()
fig.savefig(strio, format="svg")
plt.close(fig)
strio.seek(0)
svgstr = strio.buf[strio.buf.find("<svg"):]
return render_template("sin.html", svgstr=svgstr.decode("utf-8"))
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
app.run(port=port)
Voir https://limitless-garden-3527.herokuapp.com/sin-jp pour l'application terminée
Préparez votre propre fichier de police et créez un fontprop, et spécifiez ce fontprop lors du dessin.
Recommended Posts