[Python] Localisation japonaise de matplotlib sur Ubuntu

introduction

J'étudie l'exploration et le grattage avec Python, mais je n'ai pas réussi à traduire en japonais matplotlib qui est apparu au milieu du livre, donc je vais le résumer.

environnement

Environnement virtuel Ubuntu avec virtualbox sous Windows 10 Ubuntu 18.04.4 LTS

Contexte

--Installation de matplotlib

Veuillez noter que cela dépend de l'environnement Exécutez ce qui suit avec la commande

pip install matplotlib

--Installez les polices japonaises sur Ubuntu

sudo apt install -y fonts-migmix #Pour 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="Fonction linéaire")
plt.plot([1,2,3,4,5],[1,4,9,16,25],"ro--", label="Fonction quadratique")

plt.xlabel("Valeur de x")
plt.ylabel("Valeur de y")

plt.legend(loc="best")
plt.xlim(0, 6)
plt.savefig("japanese_label.png ", dpi=300)

(Référence) [Python Crawling & Scraping-Practical Development Guide for Data Collection and Analysis-](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 =)

Si vous faites cela, la figure sera enregistrée dans le répertoire courant, mais la partie japonaise sera affichée comme □ comme indiqué ci-dessous. japanese_label.png

Je veux éliminer ça

Solution

J'ai fait référence à cet article Dessinez le japonais avec matplotlib sur Ubuntu

--Vérifiez l'emplacement de la police japonaise installée

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

Il semble que la police soit installée. Vérifiez maintenant le chemin de la police que vous souhaitez utiliser.

japanese_label.py


import matplotlib
matplotlib.use("Agg")

#Ajoutez les 4 lignes suivantes au code précédent
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="Fonction linéaire")
plt.plot([1,2,3,4,5],[1,4,9,16,25],"ro--", label="Fonction quadratique")

plt.xlabel("Valeur de x")
plt.ylabel("Valeur de y")

plt.legend(loc="best")
plt.xlim(0, 6)
plt.savefig("japanese_label.png ", dpi=300)

Chiffre enregistré japanese_label.png

Le japonais est affiché

Quand cela ne peut toujours pas être fait

La cause peut être le fichier cache (?) Créé automatiquement par matplotlib. J'ai aussi trébuché ici. Le fichier de cache matplotlib se trouvait dans ~ / .cache / matplotlib.

Exécutez la commande suivante pour vérifier le contenu et supprimer ce qui semble être un fichier cache

ls ~/.cache/matplotlib/

Dans mon cas, j'ai pu supprimer le fichier cache avec rm ~ / .cache / matplotlib / tex.cache.

finalement

Il semble que certaines choses ne fonctionnent pas comme prévu à cause du fichier cache. Je m'en souviendrai. Au fait, c'était mon premier message. Merci pour la lecture.

Recommended Posts

[Python] Localisation japonaise de matplotlib sur Ubuntu
Utilisez matplotlib sur Ubuntu 12 et Python
Dessinez le japonais avec matplotlib sur Ubuntu
construire Python sur Ubuntu
Localisation japonaise de Pycharm
Installez Python 3.3 sur Ubuntu 12.04
Installation de matplotlib (Python 3.3.2)
Construire l'environnement Python3.5 + matplotlib sur Ubuntu 12 en utilisant Anaconda
Au moment de la mise à jour de python avec ubuntu
Configurer Python 3.4 sur Ubuntu
Affichage japonais de matplotlib, seaborn
Paramètre de localisation japonais de PyCharm
Définir la police matplotlib dans ubuntu
Mettez Python 3.x dans Ubuntu
Manipulation de python sur mac
Présentation de TensorFlow à Ubuntu + Python 2.7
Installez Python 3.8 sur Ubuntu 18.04 (norme du système d'exploitation)
Python 3.4 pyvenv échoue sur Ubuntu 14.04 LTS
Configurer un environnement de développement Python sur Ubuntu
Construire un environnement Python sur Ubuntu
Installez Python 3.8 sur Ubuntu 20.04 (norme du système d'exploitation)
Installation de Python, SciPy, matplotlib (Windows)
Construire un environnement pour python3.8 sur Mac
Installez Python 3.9 sur Ubuntu 20.04 (norme du système d'exploitation?)
Installez confluent-kafka pour Python sur Ubuntu
Installez Python 2.7 sur Ubuntu 20.04 (norme du système d'exploitation?)
Créer un environnement Python 3.8 + Pipenv sur Ubuntu 18.04
Créer un environnement pour "Tello_Video" sur Ubuntu
Construction d'environnements OpenCV3 et Python3 sur Ubuntu
Résolvez les caractères japonais brouillés dans matplotlib de Jupyter Notebook sur Docker
GCP Ubuntu 14.04 et supérieur: localisation en japonais de la langue du système et du fuseau horaire
Créer un environnement Python 3 et OpenCV sur Ubuntu 18.04
Environnement virtuel Python et packages sur Ubuntu
Comparaison des modules de conversion japonais en Python3
Remarques sur la réalisation de l'OCR japonais avec Python
Création d'un environnement Ubuntu, Python, OpenCV sur Docker
[Python] Rendons matplotlib compatible avec le japonais
À propos des polices japonaises de matplotlib (pour Mac)
Étude sur Tokyo Rent en utilisant Python (3-1 sur 3)
Installez pyenv et Python 3.6.8 sur Ubuntu 18.04 LTS
Traduction japonaise: PEP 20 - Le Zen de Python
Un mémo qui a fait un tutoriel pour exécuter python sur heroku
Installez Python3, numpy, pandas, matplotlib, etc. sous Windows
Localisation japonaise Airflow
Créer un environnement python avec pyenv sur EC2 (ubuntu)
[Python] axe limite du graphe 3D avec Matplotlib
Python sur Windows
twitter avec python3
Installer le package python dans l'environnement personnel sur Ubuntu
[Mémo de procédure] Installez Python3 + OpenSSL localement sur Ubuntu
Shebang sur Ubuntu 20.04
Les bases de #Python (#matplotlib)
Développement Python sur Ubuntu sur AWS EC2 (à l'aide de Jupyter Lab)
Utilisez la dernière version de PyCharm sur Ubuntu
Comment exécuter MeCab sur Ubuntu 18.04 LTS Python
[Python] Mémo pour traduire Matplotlib en japonais [Windows]