Ich lerne Krabbeln und Schaben mit Python, aber ich konnte Matplotlib, das in der Mitte des Buches erschien, nicht reibungslos ins Japanische übersetzen, also werde ich es zusammenfassen.
Virtuelle Ubuntu-Umgebung mit virtualbox unter Windows 10 Ubuntu 18.04.4 LTS
Bitte beachten Sie, dass dies von der Umgebung abhängt Führen Sie mit dem Befehl Folgendes aus
pip install matplotlib
sudo apt install -y fonts-migmix #Für Ubuntu
japanese_label.py
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5],[1,2,3,4,5], "bx-", label="Lineare Funktion")
plt.plot([1,2,3,4,5],[1,4,9,16,25],"ro--", label="Quadratische Funktion")
plt.xlabel("Wert von x")
plt.ylabel("Wert von y")
plt.legend(loc="best")
plt.xlim(0, 6)
plt.savefig("japanese_label.png ", dpi=300)
(Referenz) [Python Crawling & Scraping - Praktisches Entwicklungshandbuch für die Datenerfassung und -analyse](https://www.amazon.co.jp/Python%E3%82%AF%E3%83%AD%E3 % 83% BC% E3% 83% AA% E3% 83% B3% E3% 82% B0-% E3% 82% B9% E3% 82% AF% E3% 83% AC% E3% 82% A4% E3% 83% 94% E3% 83% B3% E3% 82% B0-% E3% 83% 87% E3% 83% BC% E3% 82% BF% E5% 8F% 8E% E9% 9B% 86% E3% 83 % BB% E8% A7% A3% E6% 9E% 90% E3% 81% AE% E3% 81% 9F% E3% 82% 81% E3% 81% AE% E5% AE% 9F% E8% B7% B5 % E9% 96% 8B% E7% 99% BA% E3% 82% AC% E3% 82% A4% E3% 83% 89-% E5% 8A% A0% E8% 97% A4-% E8% 80% 95 % E5% A4% AA / dp / 4774183679 / ref = tmm_other_meta_binding_title_0? _Encoding = UTF8 & qid = & sr =)
In diesem Fall wird die Abbildung im aktuellen Verzeichnis gespeichert, der japanische Teil wird jedoch wie unten gezeigt als □ angezeigt.
Ich möchte das beseitigen
Ich habe auf diesen Artikel verwiesen Zeichnen Sie Japanisch mit matplotlib unter Ubuntu
--Überprüfen Sie den Speicherort der installierten japanischen Schriftart
fc-list | grep migmix
/usr/share/fonts/truetype/migmix/migmix-2m-bold.ttf: MigMix 2M:style=Bold
/usr/share/fonts/truetype/migmix/migmix-2p-bold.ttf: MigMix 2P:style=Bold
/usr/share/fonts/truetype/migmix/migu-1m-regular.ttf: Migu 1M:style=Regular
/usr/share/fonts/truetype/migmix/migu-2m-regular.ttf: Migu 2M:style=Regular
/usr/share/fonts/truetype/migmix/migu-1c-regular.ttf: Migu 1C:style=Regular
/usr/share/fonts/truetype/migmix/migu-1p-regular.ttf: Migu 1P:style=Regular
/usr/share/fonts/truetype/migmix/migmix-1p-bold.ttf: MigMix 1P:style=Bold
/usr/share/fonts/truetype/migmix/migmix-2m-regular.ttf: MigMix 2M:style=Regular
/usr/share/fonts/truetype/migmix/migmix-1m-regular.ttf: MigMix 1M:style=Regular
/usr/share/fonts/truetype/migmix/migmix-1p-regular.ttf: MigMix 1P:style=Regular
/usr/share/fonts/truetype/migmix/migmix-2p-regular.ttf: MigMix 2P:style=Regular
/usr/share/fonts/truetype/migmix/migu-2m-bold.ttf: Migu 2M:style=Bold
/usr/share/fonts/truetype/migmix/migu-1p-bold.ttf: Migu 1P:style=Bold
/usr/share/fonts/truetype/migmix/migu-1c-bold.ttf: Migu 1C:style=Bold
/usr/share/fonts/truetype/migmix/migu-1m-bold.ttf: Migu 1M:style=Bold
/usr/share/fonts/truetype/migmix/migmix-1m-bold.ttf: MigMix 1M:style=Bold
Es sieht so aus, als ob die Schriftart installiert ist. Überprüfen Sie nun den Pfad der Schriftart, die Sie verwenden möchten.
japanese_label.py
import matplotlib
matplotlib.use("Agg")
#Fügen Sie dem vorherigen Code die folgenden 4 Zeilen hinzu
from matplotlib.font_manager import FontProperties
font_path = "/usr/share/fonts/truetype/migmix/migmix-1p-regular.ttf"
font_prop = FontProperties(fname=font_path)
matplotlib.rcParams["font.family"] = font_prop.get_name()
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5],[1,2,3,4,5], "bx-", label="Lineare Funktion")
plt.plot([1,2,3,4,5],[1,4,9,16,25],"ro--", label="Quadratische Funktion")
plt.xlabel("Wert von x")
plt.ylabel("Wert von y")
plt.legend(loc="best")
plt.xlim(0, 6)
plt.savefig("japanese_label.png ", dpi=300)
Gespeicherte Figur
Japanisch wird angezeigt
Dies kann durch die (?) Cache-Datei verursacht werden, die automatisch von matplotlib erstellt wird. Ich bin auch hier gestolpert. Die Matplotlib-Cache-Datei befand sich in ~ / .cache / matplotlib
.
Führen Sie den folgenden Befehl aus, um den Inhalt zu überprüfen und eine scheinbar Cache-Datei zu löschen
ls ~/.cache/matplotlib/
In meinem Fall konnte ich die Cache-Datei mit rm ~ / .cache / matplotlib / tex.cache
löschen.
Es scheint, dass es einige Dinge gibt, die aufgrund der Cache-Datei nicht wie erwartet funktionieren. Ich werde mich erinnern. Es war übrigens mein erster Beitrag. Danke fürs Lesen.
Recommended Posts