[Python] Japanische Lokalisierung von matplotlib unter Ubuntu

Einführung

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.

Umgebung

Virtuelle Ubuntu-Umgebung mit virtualbox unter Windows 10 Ubuntu 18.04.4 LTS

Hintergrund

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. japanese_label.png

Ich möchte das beseitigen

Lösungen

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 japanese_label.png

Japanisch wird angezeigt

Wenn dies immer noch nicht möglich ist

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.

Schließlich

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

[Python] Japanische Lokalisierung von matplotlib unter Ubuntu
Verwenden Sie matplotlib unter Ubuntu 12 und Python
Zeichne Japanisch mit matplotlib auf Ubuntu
Build Python auf Ubuntu
Japanische Lokalisierung von Pycharm
Installieren Sie Python 3.3 unter Ubuntu 12.04
Installation von matplotlib (Python 3.3.2)
Erstellen Sie die Python3.5 + matplotlib-Umgebung unter Ubuntu 12 mit Anaconda
Zum Zeitpunkt des Python-Updates mit Ubuntu
Richten Sie Python 3.4 unter Ubuntu ein
Japanische Anzeige von Matplotlib, Seaborn
Japanische Lokalisierungseinstellung von PyCharm
Stellen Sie die Matplotlib-Schriftart in Ubuntu ein
Setzen Sie Python 3.x in Ubuntu ein
Umgang mit Python auf Mac
Einführung von TensorFlow in Ubuntu + Python 2.7
Installieren Sie Python 3.8 unter Ubuntu 18.04 (Betriebssystemstandard)
Python 3.4 pyvenv schlägt unter Ubuntu 14.04 LTS fehl
Richten Sie eine Python-Entwicklungsumgebung unter Ubuntu ein
Erstellen einer Python-Umgebung unter Ubuntu
Installieren Sie Python 3.8 unter Ubuntu 20.04 (Betriebssystemstandard)
Installation von Python, SciPy, matplotlib (Windows)
Erstellen einer Umgebung für Python3.8 auf einem Mac
Installieren Sie Python 3.9 unter Ubuntu 20.04 (Betriebssystemstandard?)
Installieren Sie Confluent-Kafka für Python unter Ubuntu
Installieren Sie Python 2.7 unter Ubuntu 20.04 (Betriebssystemstandard?)
Erstellen Sie die Python 3.8 + Pipenv-Umgebung unter Ubuntu 18.04
Erstellen einer Umgebung für "Tello_Video" unter Ubuntu
OpenCV3 & Python3 Umgebungskonstruktion unter Ubuntu
Löse verstümmelte japanische Zeichen in matplotlib von Jupyter Notebook auf Docker
GCP Ubuntu 14.04 und höher: Japanische Lokalisierung von Systemsprache und Zeitzone
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Virtuelle Python-Umgebung und Pakete unter Ubuntu
Vergleich japanischer Konvertierungsmodule in Python3
Hinweise zur japanischen OCR mit Python
Erstellt Ubuntu, Python, OpenCV-Umgebung auf Docker
[Python] Lassen Sie uns matplotlib mit Japanisch kompatibel machen
Über japanische Schriften von matplotlib (für Mac)
Studie über die Miete in Tokio mit Python (3-1 von 3)
Installieren Sie pyenv und Python 3.6.8 unter Ubuntu 18.04 LTS
Japanische Übersetzung: PEP 20 - Das Zen von Python
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
Installieren Sie Python3, Numpy, Pandas, Matplotlib usw. unter Windows
Japanische Lokalisierung des Luftstroms
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
[Python] Grenzachse des 3D-Graphen mit Matplotlib
Python unter Windows
Twitter mit Python3
Installieren Sie das Python-Paket in einer persönlichen Umgebung unter Ubuntu
[Prozedur-Memo] Installieren Sie Python3 + OpenSSL lokal unter Ubuntu
Shebang auf Ubuntu 20.04
# Python-Grundlagen (#matplotlib)
Python-Entwicklung unter Ubuntu unter AWS EC2 (mit Jupyter Lab)
Verwenden Sie die neueste Version von PyCharm unter Ubuntu
So führen Sie MeCab unter Ubuntu 18.04 LTS Python aus
[Python] Memo zur Übersetzung von Matplotlib ins Japanische [Windows]