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 virtuel Ubuntu avec virtualbox sous Windows 10 Ubuntu 18.04.4 LTS
--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.
Je veux éliminer ça
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é
Le japonais est affiché
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
.
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.