2017-04-10 13 views
0

openpyxl을 사용하여 as in this example 차트의 배경색을 변경하고 싶습니다. 구글 그룹 토론에서 openpyxl을 사용하여 차트의 플롯 영역 배경색을 설정하는 방법

나는 다음과 같은 코드 발견 :

from openpyxl.chart.shapes import GraphicalProperties 

props = GraphicalProperties(solidFill="999999") 
chart.graphical_properties = props 
chart.plot_area.graphical_properties = props 

을하지만, 엑셀 파일로 저장할 때 차트에 영향을주지 않습니다.

답변

2

이 기능은 이전 버전의 openpyxl에서 겉으로보기에는 손상되었으며 릴리스 2.4.7부터 수정되었습니다.

from openpyxl import Workbook 
from openpyxl.chart import BarChart 
from openpyxl.chart.shapes import GraphicalProperties 

wb = Workbook() 
ws = wb.active 

chart = BarChart() 

props = GraphicalProperties(solidFill="999999") 
chart.plot_area.graphicalProperties = props 

ws.add_chart(chart, "A1") 
wb.save("bar.xlsx") 

주의 사항 :chart의 그래픽 속성을 유지 구성원 개체가 plot_area에 인 반면, chart.graphical_properties 당신의 그림에 나타낸 바와 같이 결과를 달성하기 위해 당신은 plot_area의 단색 채우기 색을 변경해야 plot_area.graphicalProperties - 자체는 plot_area.spPr의 별명입니다.

Excel 파일에서 예상대로 보이는 유효한 데이터 구조를 만들려면 적절한 구성원에 액세스해야합니다.

+0

@Friedemann에게 감사드립니다. –

+0

그러면 대답을 승인 된 것으로 표시하는 것이 좋습니다. ;) –