2017-11-30 7 views
0

그래서 값이 5 인 참조 선을 막대 차트에 추가하려고합니다. 사진과 같이 : Bar Graph 처럼 내 코드는 다음과 같습니다 문제는기둥 형 차트에 참조 선을 추가했지만 프레젠테이션이 깨졌습니다.

prs=Presentation() 
slide = prs.slides.add_slide(prs.slide_layouts[5]) 
chart_data = ChartData() 
chart_data.categories = ['East', 'West', 'Midwest'] 
chart_data.add_series('Q1 Sales', (19.2, 21.4, 16.7)) 
chart_data.add_series('Q2 Sales', (22.3, 28.6, 15.2)) 
chart_data.add_series('Q3 Sales', (20.4, 26.3, 14.2)) 

x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5) 
cchart = slide.shapes.add_chart(
    XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data 
) 

prs1=Presentation() 
slide1 = prs1.slides.add_slide(prs1.slide_layouts[5]) 
chart_data1 = ChartData() 
chart_data1.categories = ['East', 'West', 'Midwest'] 
chart_data1.add_series('Q1 Sales', (5, 5, 5)) 
chart_data1.add_series('Q2 Sales', (5, 5, 5)) 
chart_data1.add_series('Q3 Sales', (5, 5, 5)) 

lchart = slide1.shapes.add_chart(
    XL_CHART_TYPE.LINE, x, y, cx, cy, chart_data1 
) 
chartc = cchart.chart 
chartl = lchart.chart 
a=chartl.plots._plotArea 
b=chartc.plots._plotArea 
k=a.getchildren()[0] 
b.insert(0,k) 
prs.save('testbarline.pptx') 

". 파워 포인트 testbarline.pptx의 내용에 문제가 있음을 발견" 나는 그것을 보여줍니다 프레젠테이션을 열 때 그런 다음 '수리'를 클릭하면 수리 할 수 ​​없습니다. 여기서 뭐가 문제 야? 고맙습니다!

답변

0

코드로 생성 된 XML과 사용자가 손수 작성한 차트의 XML을 비교하여 원하는 모양을 찾습니다.

몇 가지 분명한 차이점이 있다고 생각합니다.

당신이하려는 것은 사소한 것이 아닙니다. "대상"XML이 무엇인지 이해하고 python-pptx API로 생성 된 XML에서 작업하여 필요한 정확한 비트를 추가해야합니다.

opc-diag는이 작업에 편리합니다.