GNU/Linux >> Znalost Linux >  >> Linux

Automatická detekce dostupnosti zobrazení pomocí matplotlib

zkusit to?

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()

Můžete přímo zjistit, zda máte displej s modulem OS v python.v mém případě je to

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

Níže uvedený kód mi funguje v Linuxu a Windows (kde předpokládá, že existuje zobrazovací zařízení):

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

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

Všimněte si, že řádek matplotlib.use('Agg') se musí objevit po prvním importu matplotlib (jinak se zobrazí chyba).


Linux
  1. Posílení zabezpečení Linuxu pomocí Advanced Intrusion Detection Environment (AIDE)

  2. Usb grafický adaptér s ovladači pro Linux/ubuntu?

  3. Získat volné místo na disku pomocí df pro zobrazení volného místa v kb?

  1. Jak mohu použít výstražný dialog s Pythonem v linuxu?

  2. Problém se vzdáleným zobrazením java aplikací

  3. Přepínání mezi monitory s duálním stavem zobrazení [úžasné wm]

  1. Importujte funkce a proměnné do Bash pomocí příkazu source

  2. Linux – přepínání mezi monitory s duálním stavem zobrazení [úžasné Wm]?

  3. Jak nakonfigurovat automatické aktualizace pomocí yum-cronu na CentOS 7?