이 오류는 DISPLAY 환경에서 matplotlib를 사용하여 PNG 이미지를 생성하려고 할 때 발생합니다. 변수가 설정되지 않았거나 정의되지 않았습니다. 이는 일반적으로 서버나 배치 스크립트와 같은 헤드리스 환경에서 matplotlib를 실행할 때 발생합니다.
이 오류의 주요 원인은 matplotlib가 기본적으로 X Windows 디스플레이가 필요한 백엔드를 선택하기 때문입니다. 이 문제를 해결하려면 matplotlib가 X Windows가 필요하지 않은 백엔드를 사용하도록 명시적으로 강제해야 합니다.
해결책:
이 문제를 해결하려면 앞에 다음 코드를 포함하세요. 다른 matplotlib 모듈 가져오기:
import matplotlib # Force matplotlib to use a backend that does not require X Windows. matplotlib.use('Agg')
이렇게 하면 백엔드가 Agg로 설정됩니다. (Anti-Grain Geometry) 백엔드는 X Windows 디스플레이 없이 이미지를 생성하도록 설계되었습니다.
대체 솔루션:
대체 솔루션은 다음을 설정하는 것입니다. .matplotlibrc 구성 파일에서 직접 백엔드를 생성합니다. 이 파일은 일반적으로 ~/.config/matplotlib 디렉터리에 있습니다. 파일에 다음 줄을 추가합니다.
backend: Agg
이렇게 하면 모든 matplotlib 인스턴스에 대해 백엔드가 영구적으로 Agg로 설정됩니다.
중요
기억하세요 이러한 솔루션은 다음과 같은 다른 matplotlib 모듈을 가져오기 전에 구현되어야 합니다. pyplot으로요. 그렇지 않으면 matplotlib가 이미 백엔드를 선택했을 것이며 use('Agg') 지시문은 아무런 효과가 없습니다.
위 내용은 'DISPLAY가 정의되지 않은 경우 matplotlib를 사용하여 PNG 생성' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!