मैं एसएसएच का उपयोग कर लिनक्स मशीन से कनेक्ट करते समय matplotlib का उपयोग करके एक साधारण ग्राफ प्लॉट करने की कोशिश कर रहा हूं। मैं अपना कोड Python2.7 . पर चला रहा हूं

मैंने पहले निम्नलिखित चलाया:

import matplotlib
print(matplotlib.get_backend())

जहाँ मुझे अपने बैकएंड के रूप में "TkAgg" मिला, फिर मैं भागा:

import os
import matplotlib as mpl
if os.environ.get('DISPLAY','') == '':
    print('no display found. Using non-interactive TkAgg backend')
    mpl.use('TkAgg')
import matplotlib.pyplot as plt 

यह सुनिश्चित करने के लिए कि TkAgg का विशेष रूप से उपयोग किया जाता है। फिर भी यह लौटाता है: _tkinter.TclError: कोई प्रदर्शन नाम नहीं और कोई $DISPLAY पर्यावरण चर त्रुटि नहीं।

दिलचस्प बात यह है कि जब मैं "एजीजी" का उपयोग सिर्फ यह देखने के लिए करता हूं कि क्या होता है, कोई त्रुटि नहीं दिखाई देती है और कोई ग्राफ भी नहीं होता है।

किसी प्रकार के सुझाव?

0
Saman 20 अक्टूबर 2018, 15:58

1 उत्तर

सबसे बढ़िया उत्तर

Agg बैकएंड कुछ भी प्रदर्शित नहीं करता है, इसका उपयोग तब किया जाता है जब आप प्लॉट को प्रकट किए बिना सहेजना चाहते हैं।

आप जो चाहते हैं, वह यह है कि आप जहां हैं वहीं से अपना प्रदर्शन अग्रेषित करें, इसलिए ssh -X या ssh -Y

देखें https://unix.stackexchange .com/questions/12755/how-to-forward-x-over-ssh-to-run-graphics-applications-remotely

0
Matthieu Brucher 20 अक्टूबर 2018, 13:01