Saya memiliki bagan xy yang sangat sederhana yang saya buat dengan python-pptx (terima kasih semua dari stack overflow yang membantu saya dengan ini). Saya kesulitan mengatur ukuran font XTitle, YTitle, ChartTitle, Series Name dan juga nilai pada x sumbu apa pun seperti (0 20 40 60). Dokumentasi pptx tidak terlalu jelas bagi saya

enter image description here

from pptx import Presentation
from pptx.util import Inches,Pt

from pptx.enum.chart import XL_CHART_TYPE
from pptx.chart.data import XySeriesData,XyChartData

prs = Presentation()
title_slide_layout = prs.slide_layouts[0]
blank_slide_layout = prs.slide_layouts[6]

slide = prs.slides.add_slide(title_slide_layout)
slide2 = prs.slides.add_slide(blank_slide_layout)

title = slide.shapes.title
subtitle = slide.placeholders[1]

title.text = "Hello, World!"
subtitle.text = "python-pptx was here!"
chart_data = XyChartData()
cd = chart_data.add_series('Series Name',number_format=None)
cxvalues=[0,1,2,3,4,5]
cyvalues=[10,22,33,38,40,43]

for x, y in list(zip(cxvalues, cyvalues)):
    cd.add_data_point(x, y, number_format=None)

x, y, cx, cy = Inches(1), Inches(2), Inches(8), Inches(3)
chart = slide2.shapes.add_chart(XL_CHART_TYPE.XY_SCATTER_LINES_NO_MARKERS, x, y, cx, cy, chart_data).chart
chart.category_axis.axis_title.text_frame.text= "XTitle"
chart.value_axis.axis_title.text_frame.text= "YTitle"

chart.chart_title.text_frame.text='ChartTitle'

prs.save('test_template.pptx')
3
user2774120 31 Mei 2020, 23:21

1 menjawab

Jawaban Terbaik

Coba gunakan objek Font pada paragraf pertama dari sumbu dan judul bagan:

from pptx.util import Pt

chart.chart_title.text_frame.paragraphs[0].font.size = Pt(36)
chart.category_axis.axis_title.text_frame.paragraphs[0].font.size = Pt(24)
chart.value_axis.axis_title.text_frame.paragraphs[0].font.size = Pt(24)

Ini cukup banyak bagaimana Anda akan memformat teks dalam bingkai teks lainnya, meskipun saya percaya dalam kasus objek judul ini ada tepat satu paragraf.

4
scanny 1 Juni 2020, 17:48