Informationen zur Erstellung von Diagrammen ohne Japanisch finden Sie unter Vergangener Artikel.
Bereiten Sie eine geeignete japanische Schriftdatei vor und fügen Sie sie zu git hinzu. Googles Noto.
$ 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"Sündenkurve")
plt.legend(loc="best", prop=fontprop)
ax.set_title(u"Prüfung", font_properties=fontprop)
ax.set_xlabel(u"x-Achse", font_properties=fontprop)
ax.set_ylabel(u"y-Achse", 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)
Die fertige App finden Sie unter https://limitless-garden-3527.herokuapp.com/sin-jp
Bereiten Sie Ihre eigene Schriftartdatei vor, erstellen Sie eine Schriftartprop und geben Sie diese Schriftart beim Zeichnen an.
Recommended Posts