Python PPTX中的颜色特定条形图不同

时间:2017-02-11 21:38:42

标签: python python-pptx

是否可以在python-pptx中为不同于其他条形图的特定条形图着色?我的目的是根据值为条形图颜色。默认情况下,全部为蓝色,但如果值低于特定阈值,则条形图为红色。

以下是我目前的代码,所有条形图都是蓝色的,rgb(65,105,225)

 # HUMIDITY CHART
    chart_data = ChartData()              
    chart_data.categories = list(m.columns)

    chart_data.add_series('Humidity', list(m.loc[svc,'Humidity']), 3)
    graphic_frame = s.placeholders[14].insert_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, chart_data)
    chart = graphic_frame.chart

    plot = chart.plots[0]
    plot.has_data_labels = True
    plot.overlap = 0
    plot.gap_width = 30
    data_labels = plot.data_labels
    data_labels.font.size = Pt(11)
    data_labels.font.color.rgb = RGBColor(0,0,0)
    data_labels.number_format = "#,##0"

    chart.series[0].fill.solid()
    chart.series[0].fill.fore_color.rgb = RGBColor(65,105,225)

1 个答案:

答案 0 :(得分:2)

我没有测试过这个,但我相信它会起作用:

bar_idx = the_offset_of_the_bar_I_want_to_set_to_a_different_color
point = series.points[bar_idx]  # a (data) point in a bar chart is a bar
fill = point.format.fill
fill.solid()
fill.fore_color.rgb = RGBColor(65, 105, 225)

series.points的文档中存在空白,这就是为什么你可能没有找到它。

告诉我们您的情况:)