如何在python-pptx中为xyscatter图表设置图表的字体大小、轴值和轴标题

use*_*120 3 python charts powerpoint python-pptx

我有一个非常简单的 xy 图表,我是用 python-pptx 制作的(感谢所有帮助我解决这个问题的堆栈溢出)。我正在努力设置 XTitle、YTitle、ChartTitle、Series Name 的字体大小以及 x 任何轴上的值,例如 (0 20 40 60)。pptx 文档对我来说不是很清楚

在此处输入图片说明

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')
Run Code Online (Sandbox Code Playgroud)

sca*_*nny 6

尝试使用Font轴和图表标题第一段上的对象:

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)
Run Code Online (Sandbox Code Playgroud)

这几乎是您在任何其他文本框架中格式化文本的方式,尽管我相信在这些标题对象的情况下只有一个段落。