Search code examples
c#asp.netasposeaspose-cells

How to show custom labels in x-axis of Aspose graphs?


I have a aspose Column3DClustered graph.Currently the x-axis is showing values in numbers only say 1,2...I want to show some labels like "Apple","Orange" etc..instead of 1,2etc..How can I achieve this using aspose?

Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

worksheet.Cells[0, 0].PutValue(1);
worksheet.Cells[0, 1].PutValue(50);
worksheet.Cells[0, 2].PutValue(100);

worksheet.Cells[1, 0].PutValue(2);
worksheet.Cells[1, 1].PutValue(50);
worksheet.Cells[1, 2].PutValue(20);


int chartIndex = worksheet.Charts.Add(ChartType.Column3DClustered, 5, 0, 15, 5);
Chart chart = worksheet.Charts[chartIndex];
chart.Title.Text = "Fruits for period 6/2016";

chart.Title.Font.Size = 6;
chart.NSeries.Add("B1:B2", true);
chart.NSeries.Add("C1:C2", true);

chart.NSeries[0].Name = "Total Quantity";
chart.NSeries[1].Name = "Net Available";
chart.NSeries[0].DataLabels.ShowValue = true;
chart.NSeries[0].DataLabels.Font.Size = 6;
chart.NSeries[0].Area.ForegroundColor = Color.DeepSkyBlue;
chart.NSeries[1].DataLabels.ShowValue = true;
chart.NSeries[1].DataLabels.Font.Size = 6;
chart.NSeries[1].Area.ForegroundColor = Color.MediumPurple;
chart.Legend.Position = LegendPositionType.Bottom;
chart.Legend.Font.Size = 6;

Solution

  • Please use Chart.NSeries.CategoryData for your needs. Please see the following sample code. It loads the sample Excel file and changes Category Data i.e. X-axis of the chart and saves it as output Excel file.

    C#

    //Load the sample Excel file.
    Workbook wb = new Workbook("Sample.xlsx");
    
    //Access first worksheet.
    Worksheet ws = wb.Worksheets[0];
    
    //Access first chart.
    Chart ch = ws.Charts[0];
    
    //Change the category data - X axis values.
    ch.NSeries.CategoryData = "=Sheet1!$C$1:$C$4";
    
    //Save the output Excel file.
    wb.Save("Output.xlsx");
    

    Please see this image. It shows the sample Excel file, output Excel file and the effect of the code on them for your reference.

    Change CategoryData X Axis of the Chart using Aspose.Cells APIs

    Note: I am working as Developer Evangelist at Aspose