Click here to Skip to main content
13,247,704 members (51,733 online)
Click here to Skip to main content

Stats

55.3K views
2.7K downloads
40 bookmarked
Posted 13 Dec 2011

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
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.

You may also be interested in...

Pro
Pro
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.171114.1 | Last Updated 13 Dec 2011
Article Copyright 2011 by Dr. Song Li
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid