from pptx import Presentation
from pptx.chart.data import ChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Cm
# create presentation with 1 slide ------
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])
x = ['one','two']
specs = {
'height': Cm(7.82),
'width': Cm(14.8),
'left': Cm(2.53),
'top': Cm(5.72)}
data = ChartData()
data.categories = x
data.add_series('Series1', [5,6])
data.add_series('Series2', [4,5])
frame = slide.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, specs['left'],
specs['top'], specs['width'],
specs['height'], data)
chart = frame.chart
chart.has_legend = True
prs.save('chart-01.pptx')
但是,如果我注释掉data.add_series('Series2', [4,5])
这一行并且仅创建一个系列,那么我得到以下图像:
请注意,图例已从参考系列变为参考类别。
我想让图例继续显示系列名称而不是类别名称。因此,我想在第二个图表中将一个和两个都设置为相同的颜色,并在图例中显示Series1。我尝试了各种不同的系列和类别配置,但均未成功。任何帮助将不胜感激。
答案 0 :(得分:2)
这是PowerPoint的自动行为。我认为,对于单变量图表来说,通常不需要图例,因为每种颜色仅出现一次且与类别名称相邻(因此,“自动生成”也是如此)。在这种情况下,通常可以隐藏图例,而仅依靠类别轴刻度标签。
另一个选择是关闭“每种类别的颜色”,这将使系列名称出现在图例中。这由A
属性控制:
plot.vary_by_categories