Я создавал графики на удаленной машине, используя ssh. Когда я использую matplotlib, я могу сохранить рисунки и избежать их отображения, используя matplotlib.use("PDF")
. Сейчас я создаю график, используя corner.py API , но я не могу найти аналогичный способ, чтобы избежать отображения рисунка. (Я явно не прошу показывать рисунок где-либо.)
Ошибка может быть воссоздана:
import corner
import numpy as np
# Random data
ndim, nsamples = 3, 1000
np.random.seed(42)
samples = np.random.randn(ndim * nsamples).reshape([nsamples, ndim])
# Make figure
figure = corner.corner(samples)
figure.savefig('test.pdf')
Моя первая ошибка была
_tkinter.TclError: нет отображаемого имени и нет переменной окружения $ DISPLAY.
Я попытался добавить export DISPLAY=localhost:0.0
в мой файл .bashrc, но затем получил
_tkinter.TclError: не удалось подключиться к отображению «localhost: 0.0».
Я пробовал figure.ioff(), plt.close(figure)
и использую ssh -X remoteMachine
, но продолжаю получать подобные ошибки.
Мне не нужно или не нужно отображать фигуру, я просто хочу сохранить ее.
Я тоже не думаю Вызов pylab.savefig без отображения в ipython мне здесь помогает, потому что у меня нет этой проблемы с matplotlib, только с углом.