How to draw text onto an empty MS Chart ChartArea?
Question
I'm using Microsoft's Chart control to plot some series, but if I have no data, I want to display "No Data Series" on the area where the plot would be.
Like this:
I have a hunch it has something to do with manually drawing some text onto the image, but I don't know where to start. Anyone?
Solution
You can create a post-paint event handler where you can paint your stuff:
mychart.PostPaint += new EventHandler<ChartPaintEventArgs>(PostPaintEventHandler);
...
static void PostPaintEventHandler(object sender, ChartPaintEventArgs e)
{
//sender here is the chart... you can use that too.
//use e.ChartGraphics object to paint something
e.ChartGraphics.DrawString(...);
}
Use freeware ILSpy to look inside the MSChart dll. There are several overloads of Graphics.DrawString method. Use the one which fits best for you.
Hope this helps.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow