GNU/Linux >> Belajar Linux >  >> Linux

Deteksi otomatis ketersediaan tampilan dengan matplotlib

coba ini?

import matplotlib,os
r = os.system('python -c "import matplotlib.pyplot as plt;plt.figure()"')
if r != 0:
    matplotlib.use('Agg')
    import matplotlib.pyplot as plt
    fig = plt.figure()
    fig.savefig('myfig.png')
else:
    import matplotlib.pyplot as plt
    fig = plt.figure()
    plt.show()

Anda dapat mendeteksi secara langsung jika Anda memiliki tampilan dengan modul OS di python. Dalam kasus saya ini adalah

>>> import os
>>> os.environ["DISPLAY"]
':0.0'

Kode di bawah berfungsi untuk saya di Linux dan Windows (yang mengasumsikan ada perangkat tampilan):

import os
import matplotlib
if os.name == 'posix' and "DISPLAY" not in os.environ:
    matplotlib.use('Agg')

Lihat https://stackoverflow.com/a/1325587/896111.

Perhatikan bahwa baris matplotlib.use('Agg') harus muncul setelah impor pertama matplotlib (jika tidak, Anda akan mendapatkan kesalahan).


Linux
  1. Dapatkan ruang disk kosong dengan df untuk hanya menampilkan ruang kosong di kb?

  2. Bagaimana saya bisa menggunakan dialog peringatan dengan Python di linux?

  3. Masalah dengan tampilan remote dari aplikasi java

  1. Impor fungsi dan variabel ke Bash dengan perintah sumber

  2. Meningkatkan keamanan Linux dengan Advanced Intrusion Detection Environment (AIDE)

  3. Adaptor Tampilan Usb Dengan Driver Linux/ubuntu?

  1. Linux – Beralih Antar Monitor Dengan Status Tampilan Ganda [Wm luar biasa]?

  2. Bagaimana cara mengkonfigurasi Pembaruan Otomatis dengan yum-cron di CentOS 7?

  3. Beralih di antara monitor dengan status tampilan ganda [wm luar biasa]