[PYTHON] Convertir le graphique matplotlib au format de fichier emf

Convertir le graphique matplotlib au format de fichier emf

Graphique des données Excel avec matplotlib (1)

↑ Comme mentionné ici, j'ai eu un problème que je ne pouvais pas enregistrer directement dans le format de fichier emf. J'ai trouvé ma propre solution, je vais donc la résumer ici.

environnement

・ Ubuntu 16.04 ・ Python3.5.2 ・ Matplotlib 2.0.0 ** ・ Inkscape 0.91 (utilisé pour la conversion eps → emf) ** ← Ceci doit être installé

Méthode

(1)Graphique dessiné avec matplotlibformat svgÉconomisez avec plt.savefig('sample.svg')

(2) Depuis la ligne de commande Inkscape [nom du fichier source.svg] -M [nom du fichier.emf]

$ inkscape sample.svg -M sample.emf

Si vous le faites à partir de python en un seul coup

Est-ce comment exécuter la ligne de commande avec python? Pour le moment, j'ai pu faire ce que je voulais faire.

sample.py


import subprocess
from matplotlib import pyplot as plt

fig, ax = plt.subplots()
ax.plot([1,2,3])

plt.savefig("sample.svg")
subprocess.call('inkscape sample.svg -M sample.emf',shell=True)
plt.show()

c'est tout

(mémo) Format qui peut être enregistré avec matplotlib 2.0.0

J'ai enquêté de cette façon

import matplotlib.pyplot as plt
fig = plt.figure()
print(fig.canvas.get_supported_filetypes())

Le résultat est cette liste

'pdf': 'Portable Document Format', 
'ps': 'Postscript', 
'rgba': 'Raw RGBA bitmap', 
'pgf': 'PGF code for LaTeX',
'svgz': 'Scalable Vector Graphics', 
'svg': 'Scalable Vector Graphics', 
'raw': 'Raw RGBA bitmap', 
'eps': 'Encapsulated Postscript', 
'png': 'Portable Network Graphics'

(mémo) option de ligne de commande inkscape0.91

Utilisation: inkscape [options ...] [fichiers ...]

Options valides: -V, --version Afficher la version d'Inkscape -z, --without-gui Ne pas utiliser le serveur X (traiter uniquement les fichiers dans la console) Tente d'utiliser le serveur X même si la variable -g, --with-gui $ DISPLAY n'est pas définie -f, --file = nom de fichier Ouvre le document spécifié (Les chaînes facultatives peuvent être ignorées) -p, --print = nom du fichier Imprimer le document dans le fichier spécifié (canal avec '| programme') -e, --export-png = Nom de fichier Exporte le document vers un fichier PNG -d, --export-dpi = Export PPP vers Bitmap et PS / EPS / PDF Résolution de la pixellisation du filtre (90 par défaut) -a, --export-area = x0: y0: x1: y1 SVG Zone d'exportation par utilisateur (par défaut, page, 0,0 Est le coin inférieur gauche) -D, --export-area-drawing La zone d'exportation est le dessin entier (pas la page) -C, --export-area-page La zone d'exportation est la page entière --export-margin = valeur PS / EPS / PDF uniquement, définissez la marge autour de la zone d'exportation en mm (La valeur par défaut est 0) --export-area-snap SVG Bitmap en dehors de la zone d'exportation Accrocher à la valeur entière approximative par utilisateur -w, --export-width = width Spécifie la largeur du bitmap généré comme valeur de pixel (Priorité à la résolution d'exportation) -h, --export-height = Hauteur Spécifie la hauteur du bitmap généré comme valeur de pixel (Priorité à la résolution d'exportation) -i, --export-id = ID ID de l'objet à exporter -j, --export-id-only export-id Exportez uniquement les objets de, pas tous les autres (Uniquement lorsque export-id est spécifié) -t, --export-use-hints Exporter en utilisant le nom de fichier ou l'indice DPI (uniquement si export-id est spécifié) -b, --export-background = couleur Exporter la couleur d'arrière-plan du bitmap (chaîne de couleur prise en charge par SVG) -y, --export-background-opacity = Transparence bitmap d'exportation de valeur (0,0 à 1,0 ou 1 à 255) -l, --export-plain-svg = nom du fichier Exporter vers un fichier SVG brut (N'utilisez pas d'espace de noms sodipodi ou inkscape) -P, --export-ps = Nom de fichier Exporter le document vers un fichier PS -E, --export-eps = Nom de fichier Exporter le document vers un fichier EPS --export-ps-level = Niveau PS Sélectionnez le niveau PostScript à utiliser pour l'exportation. Niveau 2 (Par défaut) et 3 sont disponibles. -A, --export-pdf = Nom de fichier Exporter le document vers un fichier PDF --export-pdf-version = PDF_VERSION Exporter avec la version de PDF spécifiée. (Indice: PDF Spécifiez la chaîne exacte que vous pouvez voir dans la boîte de dialogue d'exportation. Exemple: "PDF 1.4" est conforme à PDF-a) --export-latex Export au format PDF / PS / EPS sauf pour le texte. LaTeX en plus de PDF / PS / EPS Lorsque vous exportez le fichier, le texte sera PDF / PS / EPS Est placé au début de. LaTeX contient une sortie comme \ input {latexfile.tex}. -M, --export-emf = Nom de fichier Exporter le document vers un métafichier étendu (EMF) -m, --export-wmf = Nom de fichier Exporter le document vers le métafichier Windows (WMF) -T, --export-text-to-path Convertit les objets texte en chemins lors de l'exportation (PS, EPS, PDF, SVG) --export-ignore-filters Rendu des objets filtrés sans filtres au lieu de la pixellisation (PS, EPS, PDF) -X, --query-x X pour le dessin entier ou, si spécifié, un objet avec --query-id Renseignez-vous sur les coordonnées -Y, --query-y Y pour le dessin entier ou, si spécifié, l'objet avec --query-id Renseignez-vous sur les coordonnées -W, --query-width dessin entier ou --query-id si spécifié Interroger la largeur de l'objet -H, --query-height dessin entier ou --query-id si spécifié Renseignez-vous sur la hauteur de l'objet -S, --query-all Liste id, x, y, w, h de tous les objets -I, --query-id = ID ID de l'objet à interroger pour la position et la taille -x, --extension-directory Affiche le répertoire d'extension et quitte --vacuum-defs Supprime les définitions inutilisées de la section defs du document --verb-list Liste les ID de tous les VERB dans Inkscape --verb = VERB-ID VERB à appeler quand Inkscape est ouvert --select = ID OBJECT ID de l'objet à sélectionner lors de l'ouverture d'Inkscape

Help options: -?, --help Show this help message --usage Display brief usage message

Recommended Posts

Convertir le graphique matplotlib au format de fichier emf
Comment convertir des fichiers Json au format CSV ou au format EXCEL
Convertir le fichier genbank en fichier gff
Convertir le fichier XML au format Pascal VOC en fichier json au format COCO
[Caffe] Convertit le fichier moyen du format proto binaire au format npy
Dessinez facilement des graphiques avec matplotlib
[Python] Comment convertir un fichier db en csv
Convertir les données au format XML en données au format txt (yolov3)
Comment convertir facilement le format de Markdown
Comment convertir Python en fichier exe
[Python] Convertit les délimiteurs de fichier csv en délimiteurs de tabulation
Convertir un fichier psd en png en Python
Convertir un PDF joint en courrier électronique au format texte
Convertir le type de date Python au format RFC822
[Tensorflowjs_converter] Comment convertir le modèle Tensorflow au format Tensorflow.js
Convertir en HSV
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
Convertir un fichier svg en png / ico avec Python
convertir la playlist youtube en fichier au format m3u local pour smplayer (par outil jouet)
Convertissez plusieurs fichiers jpg en un seul fichier PDF
Convertir les données au format json en txt (en utilisant yolo)
Convertir les packages binaires pour Windows au format roue
Convertir une chaîne au format de liste caractère par caractère avec python
Convertir un fichier texte avec des valeurs hexadécimales en fichier binaire
Convertir les articles Qiita au format de publication Jekyll pour la sauvegarde
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
Comment convertir un spectrogramme Mel en un fichier wav
Convertir / renvoyer des objets de classe au format JSON en Python
Convertir le fichier de ressources de traduction (.po) au format XLIFF (.xlf)
Convertir les kanji en kana
Convertir jupyter en py
Convertir keras-yolo3 en ONNX
Lecture du fichier au format pandas
Comment utiliser Matplotlib
Convertir dict en tableau
Convertir json en Excel
[python] Comment utiliser Matplotlib, une bibliothèque pour dessiner des graphiques
Python / datetime> Implémentation pour convertir le format AAAAMMJJ en AAAA / MM / JJ
Script Linux pour convertir les fichiers Markdown du format JupyterLab au format Qiita
Convertir un fichier Excel en texte en Python à des fins de comparaison