Отображение и сохранение графиков PGF из ноутбука Jupyter - PullRequest
4 голосов
/ 24 января 2020

Я подготовил блокнот Jupyter с несколькими графиками matplotlib. Теперь я хотел бы сохранить графики в формате PGF, чтобы их можно было использовать в LaTeX. Я следовал этой записи в блоге , чтобы реализовать эту идею.

К сожалению, если я настрою matplotlib для генерации файлов PGF, они не отображаются в записной книжке. Если я отключаю matplotlib для генерации файлов PGF, отображаются графики, но файлы PGF не генерируются. Как я могу иметь оба?

Вот минимальный пример для воспроизведения проблемы:

# Test if integration between python and latex works fine
import subprocess; subprocess.check_call(["latex", "-help"])

# Configure matplotlib to generate PGF files
import matplotlib
import matplotlib.pyplot as plt 
matplotlib.use("pgf")
matplotlib.rcParams.update({
    "pgf.texsystem": "pdflatex",
    'font.family': 'serif',
    'text.usetex': True,
    'pgf.rcfonts': False,
})

# Prepare simple plot
import pandas as pd
df = pd.DataFrame({
     'length': [1.5, 0.5, 1.2, 0.9, 3],
     'width': [0.7, 0.2, 0.15, 0.2, 1.1]
     }, index= ['pig', 'rabbit', 'duck', 'chicken', 'horse'])
hist = df.hist(bins=3)

# Save the plot to PGF file
plt.savefig('histogram.pgf')

Вот вывод для включенной конфигурации matplotlib. Файл histogram.pgf создается и сохраняется, но график не отображается.

With configuration enabled

Ниже приведен пример отключения конфигурации matplotlib для PGF. График показан, но сгенерированный histogram.pgf файл пуст --- не содержит графика.

enter image description here

1 Ответ

0 голосов
/ 25 января 2020

Я не могу воспроизвести вашу проблему

enter image description here

enter image description here

Мне пришлось запустить первый ячейку три или четыре раза, иначе я бы не увидел цифру.

%matplotlib inline

Кстати, я использую Ubuntu 16.04, с Python 3.7.6 и Matplotlib 3.1 0,1.

...