2016-10-15 2 views
0

python-pptx에서 생성 된 XYchart 안에서 시리즈의 각 지점에 레이블을 추가하고 싶습니다. 코드는 다음과 같습니다.python pptx XyChart 라벨 글꼴 크기 설정

for p, v in zip(chart.series[0].points, dataSeries): 
    p.data_label.position = XL_LABEL_POSITION.ABOVE 
    p.data_label.text_frame.clear() 
    for paras in p.data_label.text_frame.paragraphs: 
     paras.font.size = Pt(10) 
    p.data_label.text_frame.text = str.format('{0:.1f}', v) 

새 텍스트가 올바르게 설정되었지만 글꼴 크기를 변경하기 위해 paras를 반복하는 것은 효과가 없습니다. 어떤 아이디어를 어떻게 레이블의 글꼴 크기를 변경할 수 있습니까?

답변

1

텍스트 프레임 텍스트를 추가 한 후 글꼴 크기를 으로 설정해야합니다.

data_label = p.data_label ... text_frame = data_label.text_frame # text_frame.clear() # this line is not needed, assigning to .text does this text_frame.text = str.format('{0:.1f}', v) for paragraph in text_frame.paragraphs: paragraph.font.size = Pt(10) # -- OR -- for run in text_frame.paragraphs[0].runs: run.font.size = Pt(10) 

당신이 TextFrame.text 전화

는, 기존의 모든 단락은 제거하고 하나의 새로운 단락이 추가됩니다. 그 동안 지정된 텍스트를 추가하기 전에 모든 문자 서식이 제거되어 "깨끗한 슬레이트"가 생성됩니다.

PowerPoint에서 단락 수준 (a:defRPr 요소 사용)에서 설정된 글꼴을 사용하는지 여부는 기억하지 않습니다. 그렇지 않은 경우 OR 행 다음에 표시된 것처럼 실행 수준에서 수행해야합니다.

+0

고맙습니다. 대안 2가 작동했습니다. 실행을 통해 증서를 반복해야합니다. – user5664778