Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

Using ASP.NET Charting with Image Maps in MVC

, 13 Dec 2011
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.
MVCChart.zip
MVCChart
Lib
itextsharp.dll
itextsharp.xtra.dll
MVCChart
bin
Content
Controllers
Global.asax
Models
MVCChart.csproj.user
obj
Debug
Properties
Utilities
ChartUtilities
Views
Home
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)

Share

About the Author

Dr. Song Li

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.

| Advertise | Privacy | Mobile
Web02 | 2.8.140814.1 | Last Updated 13 Dec 2011
Article Copyright 2011 by Dr. Song Li
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid