Python PPTX 中不同颜色的特定条形图
Color Specific Bar Chart Differently in 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)
我相信这会成功:
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 的文档中存在空白,这就是您可能没有找到它的原因。
让我们知道您的进展情况:)
是否可以在 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)
我相信这会成功:
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 的文档中存在空白,这就是您可能没有找到它的原因。
让我们知道您的进展情况:)