[LINUX] Verwenden Sie matplotlib unter Ubuntu 12 und Python

Ich möchte eine Grafik zeichnen! Die ersten beiden Dinge, die mir in den Sinn kamen, waren R und Python. Ich habe in der Vergangenheit R verwendet, also habe ich diesmal versucht, Python zu verwenden. Im Fall von Python wurde geschrieben, dass es den Anschein hat, dass Diagramme mit matplotlib gezeichnet werden können. Deshalb habe ich zuerst versucht, herauszufinden, ob die Umgebung mit dem bekannten apt-get verbessert werden kann.

Versuchen Sie, unter Ubuntu 12 nach Matplotlib zu suchen.

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

Soweit das Ergebnis ersichtlich ist, scheint Matplotlib im Fall von Ubuntu 12 nur in Python2 bereitgestellt zu werden. Es scheint, dass Python3 auch für Ubuntu14 verfügbar ist ...

Also matplotlib in Python2

Installieren Sie python-matplotlib. Die unter Ubuntu 12 installierte Version von Python2 ist übrigens "2.7.3".

$ sudo apt-get install python-matplotlib

Ich habe es reibungslos installiert und daher das folgende Beispiel in Pyplot-Tutorial erhalten ...

pyplot_simple.py


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

Ich werde es versuchen.

$ 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

Es sieht aus wie ein Fehler. Als ich die Nachricht las, installierte ich python-tk. Da so etwas steht, installieren Sie es.

$ sudo apt-get install python-tk

Versuchen Sie es erneut. 16-06-29 pyplot_simple2.png

Es wurde angezeigt! Ich dachte, ich würde es schwerer haben, aber es war reibungsloser als ich erwartet hatte. Dank der Vorbereitung des Pakets.

Ein etwas komplizierteres Diagramm

Versuchen Sie date_demo.py, was etwas kompliziert aussieht. Die Quelle ist wie folgt.

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()

Wenn ich es laufen lasse ...

$ 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"

Es sieht aus wie ein Fehler. Es scheint sich auf den seltsamen Pfad "/ etc /" / usr / share / matplotlib / sampledata "/ goog.npy" zu beziehen. Ich frage mich, ob es irgendwo einen Ort gibt, an dem ich es einstellen kann ... Leider habe ich noch nicht so viel Wissen, deshalb werde ich vorerst nach goog.npy suchen.

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

Ich habe es gefunden, also ändere es auf den vollständigen Pfad ...

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

Versuchen Sie es erneut.

$ python date_demo.py

date_demo.png

Es wurde angezeigt! Obwohl ich das Diagramm einfacher zeichnen konnte als erwartet, war es diesmal ein Problem mit dem Pfad der Beispieldaten, aber ich war ein wenig besorgt, als ich dachte, dass andere Probleme auftreten könnten.

Recommended Posts

Verwenden Sie matplotlib unter Ubuntu 12 und Python
Build Python auf Ubuntu
Installieren Sie Python 3.3 unter Ubuntu 12.04
[Python] Japanische Lokalisierung von matplotlib unter Ubuntu
Erstellen Sie die Python3.5 + matplotlib-Umgebung unter Ubuntu 12 mit Anaconda
Richten Sie Python 3.4 unter Ubuntu ein
Stellen Sie die Matplotlib-Schriftart in Ubuntu ein
Setzen Sie Python 3.x in Ubuntu ein
Installieren Sie OpenCV unter Ubuntu + Python
Einführung von TensorFlow in Ubuntu + Python 2.7
Verwenden Sie Python unter Windows (PyCharm)
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Installieren Sie Python 3.8 unter Ubuntu 18.04 (Betriebssystemstandard)
Richten Sie eine Python-Entwicklungsumgebung unter Ubuntu ein
Erstellen einer Python-Umgebung unter Ubuntu
[Python / matplotlib] FuncAnimation verstehen und verwenden
Installieren Sie Python 3.8 unter Ubuntu 20.04 (Betriebssystemstandard)
Zeichne Japanisch mit matplotlib auf Ubuntu
Installieren Sie Python 3.9 unter Ubuntu 20.04 (Betriebssystemstandard?)
Installieren Sie Confluent-Kafka für Python unter Ubuntu
Installieren Sie Python 2.7 unter Ubuntu 20.04 (Betriebssystemstandard?)
Erstellen Sie die Python 3.8 + Pipenv-Umgebung unter Ubuntu 18.04
Sakura Verwenden von Python im Internet
OpenCV3 & Python3 Umgebungskonstruktion unter Ubuntu
Python unter Windows
Twitter mit Python3
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Virtuelle Python-Umgebung und Pakete unter Ubuntu
Shebang auf Ubuntu 20.04
# Python-Grundlagen (#matplotlib)
Schritte zum Installieren der Python-Umgebung unter Ubuntu
Memorandum über die Verwendung von Gremlin Python
Erstellt Ubuntu, Python, OpenCV-Umgebung auf Docker
Verwenden Sie es, ohne Python 2.x unter Windows zu installieren
Python auf Mac
Meine Matplotlib (Python)
Sakura Verwenden Sie das externe Python-Modul im Internet
Installieren Sie Python auf xserver, um pip zu verwenden
Verwenden von Djangos ImageField mit AppEngine / Python
Python auf Windbg
Installieren Sie pyenv und Python 3.6.8 unter Ubuntu 18.04 LTS
Fügen Sie dem Benutzerwörterbuch von MeCab unter Ubuntu Wörter zur Verwendung in Python hinzu
Installieren Sie Python3, Numpy, Pandas, Matplotlib usw. unter Windows
Einfache Möglichkeit, Python 2.7 unter Cent OS 6 zu verwenden
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Installieren Sie das Python-Paket in einer persönlichen Umgebung unter Ubuntu
[Prozedur-Memo] Installieren Sie Python3 + OpenSSL lokal unter Ubuntu
Verwendung von Python Kivy ④ ~ Ausführung unter Android ~
Python-Entwicklung unter Ubuntu unter AWS EC2 (mit Jupyter Lab)
Verwenden Sie die neueste Version von PyCharm unter Ubuntu
So führen Sie MeCab unter Ubuntu 18.04 LTS Python aus
[Venv] Erstellen Sie eine virtuelle Python-Umgebung unter Ubuntu
Komfortable Verwendung von Magic Trackpad 2 auf dem Ubuntu-Desktop
Zum Zeitpunkt des Python-Updates mit Ubuntu
Bis zur Verwendung von PhantomJS mit Python auf Heroku
Installieren Sie MongoDB unter Ubuntu 16.04 und arbeiten Sie über Python
Visualisiere grib2 auf einer Karte mit Python (matplotlib)
Verwenden Sie thingspeak aus Python
Python Conda mit Cygwin