Click here to Skip to main content
15,896,338 members
Articles / Web Development / HTML

Using ASP.NET Charting with Image Maps in MVC

Rate me:
Please Sign up or sign in to vote.
4.73/5 (10 votes)
13 Dec 2011CPOL10 min read 80.5K   2.9K   40  
This article presents an example to create interactive charts on browsers using the "ASP.NET charting" tool with Image Maps. It also demonstrates how to add the same charts in PDF documents by re-using the same code.
using System.Collections.Generic;
using System.Web.UI.DataVisualization.Charting;
using MVCChart.Models;

namespace MVCChart.Utilities.ChartUtilities
{
    // This class built the browser share chart using the "ChartBase" class
    public class BrowserShareChart : MyChartBase
    {
        private BrowserShareChartData chartData;

        public BrowserShareChart(BrowserShareChartData chartData)
        {
            this.chartData = chartData;
        }

        //
        protected override void AddChartTitle()
        {
            ChartTitle = chartData.Title;
        }

        // Override the AddChartSeries method to provide the chart data
        protected override void AddChartSeries()
        {
            ChartSeriesData = new List<Series>();
            var series = new Series()
            {
                ChartType = SeriesChartType.Pie,
                BorderWidth = 1
            };

            var shares = chartData.ShareData;
            foreach (var share in shares)
            {
                var point = new DataPoint();
                point.IsValueShownAsLabel = true;
                point.AxisLabel = share.Name;
                point.ToolTip = share.Name + " " + share.Share.ToString("#0.##%");
                if (share.Url != null)
                {
                    point.MapAreaAttributes = "href=\"" + share.Url + "\"";
                }
                point.YValues = new double[] { share.Share };
                point.LabelFormat = "P1";
                series.Points.Add(point);
            }

            ChartSeriesData.Add(series);
        }

    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
I have been working in the IT industry for some time. It is still exciting and I am still learning. I am a happy and honest person, and I want to be your friend.

Comments and Discussions