2013-03-28 1 views
2

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 이상에 있어야합니다.

답변