ChartDataLabelShowCategoryName Property

Allows to specify if category name is to be displayed for the data labels on a chart. Default value is false.

Namespace:  Aspose.Words.Drawing.Charts
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.3
Syntax
public bool ShowCategoryName { get; set; }

Property Value

Type: Boolean
Examples
Shows how to apply labels to data points in a chart.
public void ChartDataLabels()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Use a document builder to insert a bar chart
    Shape chartShape = builder.InsertChart(ChartType.Line, 400, 300);

    // Get the chart object from the containing shape
    Chart chart = chartShape.Chart;

    // The chart already contains demo data comprised of 3 series each with 4 categories
    Assert.AreEqual(3, chart.Series.Count);
    Assert.AreEqual("Series 1", chart.Series[0].Name);

    // Apply data labels to every series in the graph
    foreach (ChartSeries series in chart.Series)
    {
        ApplyDataLabels(series, 4, "000.0", ", ");
        Assert.AreEqual(4, series.DataLabels.Count);
    }

    // Get the enumerator for a data label collection
    using (IEnumerator<ChartDataLabel> enumerator = chart.Series[0].DataLabels.GetEnumerator())
    {
        // And use it to go over all the data labels in one series and change their separator
        while (enumerator.MoveNext())
        {
            Assert.AreEqual(", ", enumerator.Current.Separator);
            enumerator.Current.Separator = " & ";
        }
    }

    // If the chart looks too busy, we can remove data labels one by one
    chart.Series[1].DataLabels.RemoveAt(2);

    // We can also clear an entire data label collection for one whole series
    chart.Series[2].DataLabels.Clear();

    doc.Save(ArtifactsDir + "Charts.ChartDataLabels.docx");
}

/// <summary>
/// Apply uniform data labels with custom number format and separator to a number (determined by labelsCount) of 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++)
    {
        ChartDataLabel label = series.DataLabels.Add(i);
        Assert.False(label.IsVisible);

        // Edit the appearance of the new data label
        label.ShowCategoryName = true;
        label.ShowSeriesName = true;
        label.ShowValue = true;
        label.ShowLeaderLines = true;
        label.ShowLegendKey = true;
        label.ShowPercentage = false;
        Assert.False(label.ShowDataLabelsRange);

        // Apply number format and separator
        label.NumberFormat.FormatCode = numberFormat;
        label.Separator = separator;

        // The label automatically becomes visible
        Assert.True(label.IsVisible);
    }
}
See Also