Почему% pylab не запускает режим pylab? - PullRequest
0 голосов
/ 02 марта 2020

Так что я просто пытаюсь построить диаграмму одной переменной как функции другой, читая их из листа LibreOffice Cal c и запуская Python через терминал в новейшей версии Ubuntu. Вот мой короткий test.py файл:

%pylab
# import mesa_reader
import mesa_reader as mr

# load and plot data
h = mr.MesaData('LOGS/history.data')
plot(h.log_Teff, h.log_L)

# set axis labels
xlabel('log Effective Temperature')
ylabel('log Luminosity')

# invert the x-axis
plt.gca().invert_xaxis()

Проблема в том, что терминал вызывает следующую проблему, когда я печатаю python3 test.py

File "test.py", line 2
    %pylab
    ^
SyntaxError: invalid syntax

Может кто-нибудь сказать мне, в чем моя проблема может быть здесь?

Редактировать: вот новый код

# start pylab mode
# %pylab
import matplotlib.pyplot as plt
# import mesa_reader
import mesa_reader as mr

# load and plot data
h = mr.MesaData('LOGS/history.data')
plt.plot(h.log_Teff, h.log_L)

# set axis labels
plt.xlabel('log Effective Temperature')
plt.ylabel('log Luminosity')

# invert the x-axis
plt.gca().invert_xaxis()

Однако я получаю следующую ошибку

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot

Редактировать 2: Вот код + ошибка

import matplotlib.pyplot as plt
import mesa_reader as mr

# load and plot data
h = mr.MesaData('LOGS/history.data')
plt.plot(h.log_Teff, h.log_L)

# set axis labels
plt.gca().xlabel('log Effective Temperature')
plt.gca().ylabel('log Luminosity')

# invert the x-axis
plt.gca().invert_xaxis()
Traceback (most recent call last):
  File "test.py", line 1, in <module>
    import matplotlib.pyplot as plt
  File "/home/nick/.local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/home/nick/.local/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 63, in pylab_setup
    [backend_name], 0)
  File "/home/nick/.local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 4, in <module>
    from . import tkagg  # Paint image to Tk photo blitter extension.
  File "/home/nick/.local/lib/python2.7/site-packages/matplotlib/backends/tkagg.py", line 5, in <module>
    from six.moves import tkinter as Tk
  File "/usr/lib/python2.7/dist-packages/six.py", line 203, in load_module
    mod = mod._resolve()
  File "/usr/lib/python2.7/dist-packages/six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "/usr/lib/python2.7/dist-packages/six.py", line 82, in _import_module
    __import__(name)
  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

1 Ответ

0 голосов
/ 02 марта 2020

%pylab - это команда i python magi c: https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic -pylab

Чтобы сделать это, вам нужно немного переписать свой код:

import matplotlib.pyplot as plt
import mesa_reader as mr

# load and plot data
h = mr.MesaData('LOGS/history.data')
plt.plot(h.log_Teff, h.log_L)

# set axis labels
plt.xlabel('log Effective Temperature')
plt.ylabel('log Luminosity')

# invert the x-axis
plt.gca().invert_xaxis()

Для сохранения файла вы можете сделать:

plt.savefig('my_plot.png')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...