development

투명한 배경으로 matplotlib에서 플롯을 내보내는 방법은 무엇입니까?

big-blog 2020. 9. 5. 10:24
반응형

투명한 배경으로 matplotlib에서 플롯을 내보내는 방법은 무엇입니까?


일부 그래프를 만들기 위해 matplotlib를 사용하고 있으며 불행히도 흰색 배경 없이는 내보낼 수 없습니다.

단색 흰색 배경이있는 샘플 플롯

즉, 이와 같은 플롯을 내보내고 다른 이미지 위에 배치하면 흰색 배경이 표시되지 않고 그 뒤에있는 것을 숨 깁니다. 대신 투명한 배경이있는 플롯을 내보내려면 어떻게해야합니까?


이미지를 png 파일로 저장하려면 savefig키워드 인수와 함께 matplotlib 함수를 사용하십시오 transparent=True.

In [30]: x = np.linspace(0,6,31)

In [31]: y = np.exp(-0.5*x) * np.sin(x)

In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]            

In [33]: savefig('demo.png', transparent=True)

결과: demo.png

물론 그 플롯은 투명성을 보여주지 않습니다. 다음은 ImageMagick display명령을 사용하여 표시되는 PNG 파일의 스크린 샷입니다 . 바둑판 패턴은 PNG 파일의 투명한 부분을 통해 보이는 배경입니다.

display screenshot


png 파일은 투명도를 처리 할 수 ​​있습니다. 따라서 그래프를 파일 로 저장하기 위해 Matplotlib를 사용하여 플롯을 표시하는 대신 이미지 파일에 플롯 저장이라는 질문을 사용할 수 있습니다 png.

그리고 모든 흰색 픽셀을 투명하게 만들고 싶다면 다른 질문이 있습니다. PIL을 사용하여 모든 흰색 픽셀을 투명하게 만드나요?

전체 영역을 투명하게 만들고 싶다면이 질문이 있습니다. 그리고이 질문과 같은 PIL 라이브러리를 사용합니다 . Python PIL : PNG에서 영역을 투명하게 만드는 방법? 그래프를 투명하게 만들 수 있습니다.

참고 URL : https://stackoverflow.com/questions/15857647/how-to-export-plots-from-matplotlib-with-transparent-background

반응형