matplotlib에서 문제가 발생했습니다. this information을 사용하여 그림의 얼굴 색 및 알파 값을 설정할 수 있습니다. 그러나 matplotlib는 출력을 렌더링하기 전에 흰색을 암시 적으로 흰색과 혼합한다고 주장하는 것 같습니다. 다음의 사용 예matplotlib 그림 배경색에 알파 채널 값을 직접 설정하는 방법
: test_fig.png
에
import matplotlib.pyplot as plt
fig = plt.figure()
fig.set_facecolor('black')
fig.patch.set_alpha(0.3)
ax = fig.add_subplot(111, axis_bgcolor='black')
ax.plot([1, 2, 3], [1, 2, 3], color='white')
fig.savefig('test_fig.png', facecolor=fig.get_facecolor(), edgecolor='none')
도면 배경 픽셀 (178, 178, 178, 77)
의 RGBA 값이 아닌 것으로 (0,0,0,77)
있다. 저는 다양한 색상으로 시도했습니다 - 최종 출력은 모든 경우에 지정된 색상 + 알파가 불투명 한 흰색으로 알파 블렌드 된 것과 같고 지정된 알파 값이 지정된 원래 값으로 재설정됩니다.
왜 이런 일이 발생합니까? 거기에 아직 흰색으로 설정되어있는 색상의 일부 레이어가 있습니까, 아니면 matplotlib의 버그입니까?
EDIT : 실제로 이것은 matplotlib의 버그 였고 수정 사항이 적용되었으며 버전 1.3 이상에 있어야합니다.