[PYTHON] Graphique des données Excel avec matplotlib (1)

Graphique des données Excel avec matplotlib

C'est le code de base (pour moi) pour représenter graphiquement des données Excel avec matplot. Je l'élargis généralement comme je le souhaite sur cette base.

environnement ・ Ubuntu 16.04 ・ Python3.5.2 ・ Matplotlib 2.0.0 ・ Pandas0.19.2, numpy1.11.3 ・ Inkscape (utilisé pour la conversion eps → emf)

Tout d'abord, simplement

cell.png

Cas où les données du graphique (axe X, axe Y) sont copiées et utilisées dans le coin supérieur gauche (cellule A1) de la feuille Excel. On suppose que les données de l'axe X et de l'axe Y que vous souhaitez représenter graphiquement existent déjà. ・ Je souhaite le coller dans un rapport (Word), mais je ne suis pas satisfait du graphique Excel. ・ Je ne suis pas satisfait de la notation d'index dans Excel Ce n'est qu'en si peu de temps que j'oublie complètement la méthode de traçage.

Je voudrais décrire le graphique avec les données de n'importe quelle plage de cellules de la feuille Excel existante dans (2).

Convertir des fichiers EPS en emf (métafichier étendu) à l'aide d'Inkscape

Le graphique de sortie est enregistré au format eps et png. Le fichier emf est pratique lorsque vous le collez dans un document Word, alors comment le faire.

Inkscape est disponible à partir de la ligne de commande, utilisez donc l'option -M

$ inkscape sample.eps -M sample.emf

Je voudrais dire, mais cela ne fonctionne pas avec l'erreur suivante ...

parser error : Start tag expected, '<' not found
%!PS-Adobe-3.0 EPSF-3.0
^
** (inkscape:5467): WARNING **: Specified document sample.eps cannot be opened (does not exist or not a valid SVG file)

Je mettrai cette zone hors tension Je dois créer un fichier emf et le mettre sur le rapport. C'est une méthode pour ouvrir inkscape et le convertir normalement.

(Ajouté 2017.2.21) ↓ J'ai écrit la solution (en utilisant Inkscape) ici Convertir le graphe matplotlib au format de fichier emf

-Ouvrez le fichier eps dans Inkscape et sélectionnez emf dans "Enregistrer sous".

Si vous utilisez le japonais pour le graphique Les caractères sont déformés si Importer avec Poppler dans [Paramètres d'importation] n'est pas coché. (Je ne sais pas ce qu'est Poppler ...)

ink.png

J'aimerais pouvoir enregistrer emf directement, mais je ne suis pas sûr.

Post-scriptum (2017.2.21) Selon Piyopiyo no Hibi, la fonction de sortie de emf a été supprimée. Quelle ...

matplotlib-1.3.Dans 1 document"point de changement"Il y avait une explication.
C'était écrit comme ça.
"La fonctionnalité de sortie emf a été supprimée de cette version en raison d'un nettoyage des fonctionnalités."
Qu'est-ce que c'est...

La version actuelle de matplotlib est 2.0.0, donc juste au cas où Je l'ai vérifié par la méthode ci-dessous.

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

Si vous cherchez dans

'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'

Cela semble être le type de fichier pouvant être généré dans l'environnement actuel.

code

Alors voici le code: À partir du DataFrame du fichier Excel (xls, xlsx) lu par les pandas Tout ce que vous avez à faire est d'extraire les données de l'axe des x et de l'axe des y et de les jeter dans le tracé.

Il existe deux façons d'extraire, comme la spécification par colonne ou par nom d'étiquette.

graph.py


# coding: utf-8

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

#Spécifiez l'emplacement du fichier de police ubuntu(C:\Windows\Fonts\Toute police)
fp = FontProperties(fname="/usr/share/fonts/truetype/fonts-japanese-gothic.ttf") 

####################################################################
filepath='~/Desktop/sample.xls' #Emplacement du fichier xls

df=pd.read_excel(filepath) #Charger dans Pandas DataFrame

#Lire les données des axes X et Y à partir du bloc de données

#Spécifié par colonne
x=df[[0]]
y=df[[1]]

#Lors de la spécification par étiquette
#x=df['X']
#y=df['Y']

####################################################################
#Graph
####################################################################
fig = plt.figure()
ax1 = fig.add_subplot(111)

ax1.set_yscale('linear')
#ax1.set_yscale('log')

ax1.set_ylim(-1.1, 1.1)
ax1.set_xlim(0,360)

ax1.set_title("Exemple de graphique",fontdict = {"fontproperties": fp},fontsize=12)
ax1.set_xlabel("axe x",fontdict = {"fontproperties": fp},fontsize=12)
ax1.set_ylabel("axe y",fontdict = {"fontproperties": fp},fontsize=12)

#ax1.plot(x, y,'red',label='sin')
ax1.scatter(x, y,s=1,c='r',label='sin')
ax1.legend(loc="upper right")

#Enregistrer le fichier Enregistrer au format png et eps
plt.savefig("sample.png ")
plt.savefig("sample.eps")
plt.show()

Recommended Posts

Graphique des données Excel avec matplotlib (1)
Graphique des données Excel avec matplotlib (2)
Graphique de bande avec matplotlib
Lire les données csv Python avec Pandas ⇒ Graphique avec Matplotlib
Méthode de dessin graphique avec matplotlib
Dessinez un graphique lâche avec matplotlib
Traçage de données polyvalent avec pandas + matplotlib
Implémentez "Data Visualization Design # 2" avec matplotlib
[Python] Définissez la plage du graphique avec matplotlib
Convertir des données Excel en JSON avec python
Animation avec matplotlib
Japonais avec matplotlib
Album graphique matplotlib
Graphiques de fonctions triangulaires avec numpy et matplotlib
Animation avec matplotlib
histogramme avec matplotlib
Faire une animation avec matplotlib
Excel avec Python
Créer un graphique avec des bordures supprimées avec matplotlib
Visualisez les données d'infection corona à Tokyo avec matplotlib
Dessinez une surface plane avec un graphique 3D matplotlib
[Python] axe limite du graphe 3D avec Matplotlib
Augmentez la taille de la police du graphique avec matplotlib
Implémentez "Data Visualization Design # 3" avec pandas et matplotlib
La base de la théorie des graphes avec l'animation matplotlib
Dessin graphique avec jupyter (notebook ipython) + matplotlib + vagrant
Aligner les couleurs du graphique Matplotlib avec des couleurs similaires (carte des couleurs)
Analyse de données avec python 2
Graphique 2 axes avec Matplotlib
Dessin graphique avec matplotlib
Lecture de données avec TensorFlow
Gérez Excel avec python
Carte thermique par Python + matplotlib
Visualisation des données avec les pandas
Apprenez avec Chemo Informatics Matplotlib
Manipulation des données avec les Pandas!
Dessin en temps réel avec matplotlib
Mélangez les données avec les pandas
Différentes barres de couleurs avec Matplotlib
Augmentation des données avec openCV
Graphique 3D avec matplotlib
Normariser les données avec Scipy
Analyse de données avec Python
Lire Excel avec openpyxl
Utiliser Excel avec Python (1)
CHARGER DES DONNÉES avec PyMysql
Ajustez les axes avec matplotlib
Utiliser Excel avec Python (2)
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Visualisez les données d'itinéraires ferroviaires sous forme de graphique avec Cytoscape 2
Afficher le graphique lors de la modification des paramètres avec PySimpleGUI + Matplotlib
J'ai créé un graphique à barres empilées avec matplotlib de Python et ajouté une étiquette de données
Exemple de données créées avec python
Exploitez Excel avec Python open pyxl
Étudier les mathématiques avec Python: dessiner un graphe sympy (scipy) avec matplotlib
Incorporer des données audio avec Jupyter
Génération artificielle de données avec numpy
Dessinez un graphique avec NetworkX
Premiers pas avec le dessin avec matplotlib: création de diagrammes à partir de fichiers de données