ChartDataLabelCollection class
ChartDataLabelCollection class
Represents a collection of ChartDataLabel.
To learn more, visit the Working with Charts documentation article.
Indexers
Properties
Name | Description |
---|
count | Returns the number of ChartDataLabel in this collection. |
font | Provides access to the font formatting of the data labels of the entire series. |
format | Provides access to fill and line formatting of the data labels. |
number_format | Gets an ChartNumberFormat instance allowing to set number format for the data labels of the entire series. |
orientation | Gets or sets the text orientation of the data labels of the entire series. |
position | Gets or sets the position of the data labels. |
rotation | Gets or sets the rotation of the data labels of the entire series in degrees. |
separator | Gets 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_size | Allows 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_name | Allows to specify whether category name is to be displayed for the data labels of the entire series. Default value is False . |
show_data_labels_range | Allows 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_lines | Allows to specify whether data label leader lines need be shown for the data labels of the entire series. Default value is False . |
show_legend_key | Allows to specify whether legend key is to be displayed for the data labels of the entire series. Default value is False . |
show_percentage | Allows 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_name | Returns 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_value | Allows to specify whether values are to be displayed in the data labels of the entire series. Default value is False . |
Methods
Examples
Shows how to apply labels to data points in a line chart.
def data_labels():
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:
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(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