ChartDataLabelCollection class

ChartDataLabelCollection class

Represents a collection of ChartDataLabel. To learn more, visit the Working with Charts documentation article.

Indexers

NameDescription
__getitem__(index)Returns ChartDataLabel for the specified index.

Properties

NameDescription
countReturns the number of ChartDataLabel in this collection.
fontProvides access to the font formatting of the data labels of the entire series.
formatProvides access to fill and line formatting of the data labels.
number_formatGets an ChartNumberFormat instance allowing to set number format for the data labels of the entire series.
separatorGets or sets string separator used for the data labels of the entire series. The default is a comma, except for pie charts showing only category name and percentage, when a line break shall be used instead.
show_bubble_sizeAllows to specify whether bubble size is to be displayed for the data labels of the entire series. Applies only to Bubble charts. Default value is False.
show_category_nameAllows to specify whether category name is to be displayed for the data labels of the entire series. Default value is False.
show_data_labels_rangeAllows to specify whether values from data labels range to be displayed in the data labels of the entire series. Default value is False.
show_leader_linesAllows to specify whether data label leader lines need be shown for the data labels of the entire series. Default value is False.
show_legend_keyAllows to specify whether legend key is to be displayed for the data labels of the entire series. Default value is False.
show_percentageAllows to specify whether percentage value is to be displayed for the data labels of the entire series. Default value is False. Applies only to Pie charts.
show_series_nameReturns or sets a Boolean to indicate the series name display behavior for the data labels of the entire series. True to show the series name; False to hide. By default False.
show_valueAllows to specify whether values are to be displayed in the data labels of the entire series. Default value is False.

Methods

NameDescription
clear_format()Clears format of all ChartDataLabel in this collection.

Examples

Shows how to apply labels to data points in a line chart.

def test_data_labels(self):

    doc = aw.Document()
    builder = aw.DocumentBuilder(doc)

    chart_shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 400, 300)
    chart = chart_shape.chart

    self.assertEqual(3, chart.series.count)
    self.assertEqual("Series 1", chart.series[0].name)
    self.assertEqual("Series 2", chart.series[1].name)
    self.assertEqual("Series 3", chart.series[2].name)

    # Apply data labels to every series in the chart.
    # These labels will appear next to each data point in the graph and display its value.
    for series in chart.series:
        self.apply_data_labels(series, 4, "000.0", ", ")
        self.assertEqual(4, series.data_labels.count)

    # Change the separator string for every data label in a series.
    for label in chart.series[0].data_labels:
        self.assertEqual(", ", label.separator)
        label.separator = " & "

    # For a cleaner looking graph, we can remove data labels individually.
    chart.series[1].data_labels[2].clear_format()

    # We can also strip an entire series of its data labels at once.
    chart.series[2].data_labels.clear_format()

    doc.save(ARTIFACTS_DIR + "Charts.data_labels.docx")

def apply_data_labels(self, series: aw.drawing.charts.ChartSeries, labels_count: int, number_format: str, separator: str):
    """Apply data labels with custom number format and separator to several data points in a series."""

    for i in range(labels_count):
        series.has_data_labels = True

        self.assertFalse(series.data_labels[i].is_visible)

        series.data_labels[i].show_category_name = True
        series.data_labels[i].show_series_name = True
        series.data_labels[i].show_value = True
        series.data_labels[i].show_leader_lines = True
        series.data_labels[i].show_legend_key = True
        series.data_labels[i].show_percentage = False
        series.data_labels[i].is_hidden = False
        self.assertFalse(series.data_labels[i].show_data_labels_range)

        series.data_labels[i].number_format.format_code = number_format
        series.data_labels[i].separator = separator

        self.assertFalse(series.data_labels[i].show_data_labels_range)
        self.assertTrue(series.data_labels[i].is_visible)
        self.assertFalse(series.data_labels[i].is_hidden)

See Also