[LINUX] Utilisez matplotlib sur Ubuntu 12 et Python

Je veux dessiner un graphique! Les deux premières choses qui me sont venues à l'esprit étaient R et Python. J'ai utilisé R dans le passé, donc cette fois j'ai essayé d'utiliser Python. Dans le cas de Python, il a été écrit qu'il semble que les graphiques puissent être dessinés à l'aide de matplotlib, alors j'ai d'abord essayé de voir si l'environnement pouvait être amélioré avec le familier apt-get.

Essayez de rechercher matplotlib sur Ubuntu 12 que vous avez.

python


$ apt-cache search matplotlib
python-matplotlib - Python based plotting system in a style similar to Matlab
python-matplotlib-data - Python based plotting system (data package)
python-matplotlib-dbg - Python based plotting system (debug extension)
python-matplotlib-doc - Python based plotting system (documentation package)
python-mpltoolkits.basemap - matplotlib toolkit to plot on map projections
python-mpltoolkits.basemap-data - matplotlib toolkit to plot on map projections (data package)
python-mpltoolkits.basemap-doc - matplotlib toolkit to plot on map projections (documentation)
python-scitools - Python library for scientific computing
python-wxmpl - Painless matplotlib embedding in wxPython
python-mpmath - library for arbitrary-precision floating-point arithmetic
python-mpmath-doc - library for arbitrary-precision floating-point arithmetic - Documentation

Pour ce qui est du résultat, dans le cas d'Ubuntu 12, matplotlib semble être fourni uniquement en Python2. Il semble que Python3 soit également disponible pour Ubuntu14 ...

Donc matplotlib en Python2

Installez python-matplotlib. Au fait, la version de Python2 installée sur Ubuntu 12 est «2.7.3».

$ sudo apt-get install python-matplotlib

Je l'ai installé sans problème, j'ai donc obtenu l'exemple suivant dans Pyplot tutorial ...

pyplot_simple.py


import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()

Je vais essayer.

$ python pyplot_simple.py
Traceback (most recent call last):
  File "pyplot_simple.py", line 3, in <module>
    import matplotlib.pyplot as plt
  File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 95, in <module>
    new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/__init__.py", line 25, in pylab_setup
    globals(),locals(),[backend_name])
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 8, in <module>
    import Tkinter as Tk, FileDialog
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
    raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package

Cela ressemble à une erreur. Quand j'ai lu le message, j'ai installé python-tk. Puisqu'il dit quelque chose comme ça, installez-le.

$ sudo apt-get install python-tk

Essayez de l'exécuter à nouveau. 16-06-29 pyplot_simple2.png

C'était affiché! Je pensais que j'aurais plus de mal, mais c'était plus fluide que ce à quoi je m'attendais. Merci à la préparation du colis.

Un graphique un peu plus compliqué

Essayez date_demo.py, qui semble un peu compliqué. La source est la suivante.

date_demo.py


import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import matplotlib.cbook as cbook

years = mdates.YearLocator()   # every year
months = mdates.MonthLocator()  # every month
yearsFmt = mdates.DateFormatter('%Y')

# load a numpy record array from yahoo csv data with fields date,
# open, close, volume, adj_close from the mpl-data/example directory.
# The record array stores python datetime.date as an object array in
# the date column
datafile = cbook.get_sample_data('goog.npy')
try:
    # Python3 cannot load python2 .npy files with datetime(object) arrays
    # unless the encoding is set to bytes. Hovever this option was
    # not added until numpy 1.10 so this example will only work with
    # python 2 or with numpy 1.10 and later.
    r = np.load(datafile, encoding='bytes').view(np.recarray)
except TypeError:
    r = np.load(datafile).view(np.recarray)

fig, ax = plt.subplots()
ax.plot(r.date, r.adj_close)


# format the ticks
ax.xaxis.set_major_locator(years)
ax.xaxis.set_major_formatter(yearsFmt)
ax.xaxis.set_minor_locator(months)

datemin = datetime.date(r.date.min().year, 1, 1)
datemax = datetime.date(r.date.max().year + 1, 1, 1)
ax.set_xlim(datemin, datemax)


# format the coords message box
def price(x):
    return '$%1.2f' % x
ax.format_xdata = mdates.DateFormatter('%Y-%m-%d')
ax.format_ydata = price
ax.grid(True)

# rotates and right aligns the x labels, and moves the bottom of the
# axes up to make room for them
fig.autofmt_xdate()

plt.show()

Quand je l'exécute ...

$ python date_demo.py
Traceback (most recent call last):
  File "t2.py", line 17, in <module>
    datafile = cbook.get_sample_data('goog.npy')
  File "/usr/lib/pymodules/python2.7/matplotlib/cbook.py", line 682, in get_sample_data
    return open(f, 'rb')
IOError: [Errno 2] No such file or directory: "/etc/'/usr/share/matplotlib/sampledata'/goog.npy"

Cela ressemble à une erreur. Il semble faire référence au chemin étrange / etc / '/ usr / share / matplotlib / sampledata' / goog.npy. Je me demande s'il y a un endroit pour le placer quelque part ... Malheureusement, je n'ai pas encore beaucoup de connaissances, donc je vais chercher goog.npy pour le moment.

$ find /usr -name "goog.npy"
/usr/share/matplotlib/sampledata/goog.npy

Je l'ai trouvé, alors changez-le en chemin complet ...

@@ -12,7 +12,7 @@ yearsFmt = mdates.DateFormatter('%Y')
 # open, close, volume, adj_close from the mpl-data/example directory.
 # The record array stores python datetime.date as an object array in
 # the date column
-datafile = cbook.get_sample_data('goog.npy')
+datafile = cbook.get_sample_data('/usr/share/matplotlib/sampledata/goog.npy')
 try:
     # Python3 cannot load python2 .npy files with datetime(object) arrays
     # unless the encoding is set to bytes. Hovever this option was

Essayez de l'exécuter à nouveau.

$ python date_demo.py

date_demo.png

C'était affiché! Bien que j'aie pu dessiner le graphique plus facilement que prévu, cette fois, c'était un problème avec le chemin des données d'échantillon, mais j'étais un peu inquiet quand j'ai pensé que d'autres problèmes pourraient survenir.

Recommended Posts

Utilisez matplotlib sur Ubuntu 12 et Python
construire Python sur Ubuntu
Installez Python 3.3 sur Ubuntu 12.04
[Python] Localisation japonaise de matplotlib sur Ubuntu
Construire l'environnement Python3.5 + matplotlib sur Ubuntu 12 en utilisant Anaconda
Configurer Python 3.4 sur Ubuntu
Définir la police matplotlib dans ubuntu
Mettez Python 3.x dans Ubuntu
Installez OpenCV sur Ubuntu + python
Présentation de TensorFlow à Ubuntu + Python 2.7
Utiliser Python sur Windows (PyCharm)
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
Installez Python 3.8 sur Ubuntu 18.04 (norme du système d'exploitation)
Configurer un environnement de développement Python sur Ubuntu
Construire un environnement Python sur Ubuntu
[Python / matplotlib] Comprendre et utiliser FuncAnimation
Installez Python 3.8 sur Ubuntu 20.04 (norme du système d'exploitation)
Dessinez le japonais avec matplotlib sur Ubuntu
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
Sakura utilisant Python sur Internet
Construction d'environnements OpenCV3 et Python3 sur Ubuntu
Python sur Windows
twitter avec python3
Créer un environnement Python 3 et OpenCV sur Ubuntu 18.04
Environnement virtuel Python et packages sur Ubuntu
Shebang sur Ubuntu 20.04
Les bases de #Python (#matplotlib)
Étapes pour installer l'environnement Python sur Ubuntu
Mémorandum sur l'utilisation du python gremlin
Création d'un environnement Ubuntu, Python, OpenCV sur Docker
Utiliser sans installer python 2.x sous Windows
python sur mac
Mon matplotlib (Python)
Sakura Utiliser le module externe Python sur Internet
Installez python sur xserver pour utiliser pip
Utilisation de ImageField de Django avec AppEngine / Python
Python sur Windbg
Installez pyenv et Python 3.6.8 sur Ubuntu 18.04 LTS
Ajouter des mots au dictionnaire utilisateur de MeCab sur Ubuntu pour une utilisation en Python
Installez Python3, numpy, pandas, matplotlib, etc. sous Windows
Un moyen simple d'utiliser Python 2.7 sur Cent OS 6
Créer un environnement python avec pyenv sur EC2 (ubuntu)
Installer le package python dans l'environnement personnel sur Ubuntu
[Mémo de procédure] Installez Python3 + OpenSSL localement sur Ubuntu
Comment utiliser Python Kivy ④ ~ Exécution sur Android ~
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
[Venv] Créer un environnement virtuel python sur Ubuntu
Utilisation confortable de Magic Trackpad 2 sur le bureau Ubuntu
Au moment de la mise à jour de python avec ubuntu
Jusqu'à l'utilisation de PhantomJS avec Python sur Heroku
Installez MongoDB sur Ubuntu 16.04 et utilisez python
Visualiser grib2 sur une carte avec python (matplotlib)
Utilisez Thingsspeak de Python
Conda Python avec Cygwin