我刚开始使用python pptx,但是在win32com、visual basic、interop等之间使用powerpoint有着相当丰富的经验,在用一个系列创建图表时,我看到了一些有趣的东西。
问题:
默认情况下,只有一个系列的图表的填充颜色可能不同
每个点/类别
是的。这与我所期望的相反:序列中的所有点都应该具有相同的颜色。(例如,使用win32com,这些图表在所有点上都有一个单一的、一致的颜色,但是win32com有一些非常费解的东西,需要基本上重建图表数据并覆盖默认值,加上整个
Application
实例是在幕后进行的,这在openxml或pptx等中是没有的,所以这可能是造成这种明显差异的一个因素)
问题:
对于具有单个序列的图表,这是正常/预期的行为吗?还是我忽略了一些显而易见的事情?
我看到一个
similar question
我可以修改你的评论,使系列的格式一致(如下),但我主要想知道这是必要的,还是我做错了什么:
def FormatChart(chart):
plot = chart.plots[0]
plot.has_data_labels = True
dl = plot.data_labels
dl.position = XL_LABEL_POSITION.OUTSIDE_END
value_axis = chart.value_axis
value_axis.has_major_gridlines = False
s = plot.series[0]
s.format.fill.solid()
s.format.fill.fore_color.theme_color = MSO_THEME_COLOR_INDEX.ACCENT_1