Placing callouts near datapoints

We have a requirement to place a callout (like cartoon talk bubble) that points to a particular bar in a bar graph. Is this possible with Aspose Cells? How would we do it?


Thank you for considering Aspose.

I am afraid Callout AutoShapes are not yet supported by Aspose.Cells. We will check and see if we can add this feature in our future release.

Thank You & Best Regards,

Thank you for your swift response!

Are all autoshapes unsupported? Or is a subset? Could we construct boxes and lines from other shapes?

Do you know if autoshapes are also unsupported in Aspose.Slides (the chart we generated is destined to live inside a PowerPoint slide.


Thank you for considering Aspose.

Well, Aspose.Cells do support some basic AutoShapes like Arc, Arrows, Lines, Rectangle, Oval etc. which you can use to create the Callouts.

Please see the following link regarding the supported AutoShapes with sample codes to implement your scenario,

Thank You & Best Regards,

Thank you again! I'm not giving up hope yet.

I assume can create an oval or rectangle, and draw a line from it, which gets me the bare minimum I need for a speach balloon whose real purpose is to comment on data in a bar graph.

Now the realy trick is tying one ind of that line to the correct bar on the graph.

Is there a way to find a particular bar and tie the line to it? Is there a way to find the coordinates of the bar and then place the line using those coordinates?

Perhaps on a completely different track, is there a way to have a data label show which bar it is describing. Using the Excel application I can put custom text in a data label next to a bar (, but it doesn't have the line that connects the label to the bar so it is not always clear to the viewer which bar is being described. Does Aspose have a way of handling this?


Well, currently Aspose.Cells for .NET only supports to add label, textbox or picture into the charts, we may consider adding lines or other controls into the charts, check the doc topic:

I think you can achive your last post's last part. You can put labels using DataLabels.Text property for your need.


//Create a new Workbook.
Workbook workbook = new Workbook();
//Open the existing file.
//Get the designer chart in the second sheet.
Worksheet sheet = workbook.Worksheets[1];
Chart chart = sheet.Charts[0];
//Get the data labels in the data series of the third data point.
DataLabels datalabels = chart.NSeries[0].Points[2].DataLabels;
//Change the text of the label.
datalabels.Text = "Test Label";
datalabels.IsValueShown = true;
//Save the excel file.
And you may also check the doc topic for further reference:
Also, please use our latest version(4.6.0) for it.
Thank you.

That looks like exactly what I need! Thanks!