DataLabels
Contents
[
Hide
]ChartSeries.DataLabels property
Specifies the settings for the data labels for the entire series.
public ChartDataLabelCollection DataLabels { get; }
Examples
Shows how to apply labels to data points in a line chart.
public void DataLabels()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape chartShape = builder.InsertChart(ChartType.Line, 400, 300);
Chart chart = chartShape.Chart;
Assert.AreEqual(3, chart.Series.Count);
Assert.AreEqual("Series 1", chart.Series[0].Name);
Assert.AreEqual("Series 2", chart.Series[1].Name);
Assert.AreEqual("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.
foreach (ChartSeries series in chart.Series)
{
ApplyDataLabels(series, 4, "000.0", ", ");
Assert.AreEqual(4, series.DataLabels.Count);
}
// Change the separator string for every data label in a series.
using (IEnumerator<ChartDataLabel> enumerator = chart.Series[0].DataLabels.GetEnumerator())
{
while (enumerator.MoveNext())
{
Assert.AreEqual(", ", enumerator.Current.Separator);
enumerator.Current.Separator = " & ";
}
}
// For a cleaner looking graph, we can remove data labels individually.
chart.Series[1].DataLabels[2].ClearFormat();
// We can also strip an entire series of its data labels at once.
chart.Series[2].DataLabels.ClearFormat();
doc.Save(ArtifactsDir + "Charts.DataLabels.docx");
}
/// <summary>
/// Apply data labels with custom number format and separator to several data points in a series.
/// </summary>
private static void ApplyDataLabels(ChartSeries series, int labelsCount, string numberFormat, string separator)
{
for (int i = 0; i < labelsCount; i++)
{
series.HasDataLabels = true;
Assert.False(series.DataLabels[i].IsVisible);
series.DataLabels[i].ShowCategoryName = true;
series.DataLabels[i].ShowSeriesName = true;
series.DataLabels[i].ShowValue = true;
series.DataLabels[i].ShowLeaderLines = true;
series.DataLabels[i].ShowLegendKey = true;
series.DataLabels[i].ShowPercentage = false;
series.DataLabels[i].IsHidden = false;
Assert.False(series.DataLabels[i].ShowDataLabelsRange);
series.DataLabels[i].NumberFormat.FormatCode = numberFormat;
series.DataLabels[i].Separator = separator;
Assert.False(series.DataLabels[i].ShowDataLabelsRange);
Assert.True(series.DataLabels[i].IsVisible);
Assert.False(series.DataLabels[i].IsHidden);
}
}
See Also
- class ChartDataLabelCollection
- class ChartSeries
- namespace Aspose.Words.Drawing.Charts
- assembly Aspose.Words