Pyramid Chart by FusionCharts

CSharp · Mvc

Model

using System;
using System.ComponentModel.DataAnnotations;

namespace FusionChartsSamples
{
	public class SampleViewModel
	{
	}
}

View

@model FusionChartsSamples.SampleViewModel
@{
	Layout = null;
}
<!DOCTYPE html>
<html>
<head>
	<script src="//cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js"></script>
  <script src="//cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.widgets.js"></script>   
    <script src="//cdn.fusioncharts.com/fusioncharts/latest/themes/fusioncharts.theme.fusion.js"></script>
</head>
<body>
<div>
    <div id="chartContainer">@Html.Raw(ViewData["Chart"])</div>
</div>

</body>
</html>

Controller

using System;
using System.Web.Mvc;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using FusionCharts.Visualization;
using FusionCharts.DataEngine;
using System.Data;

namespace FusionChartsSamples
{
	public class HomeController : Controller
	{
		public ActionResult Index()
		{
			DataTable ChartData = new DataTable();
            ChartData.Columns.Add("Label", typeof(System.String));
            ChartData.Columns.Add("Value", typeof(System.Double));
            ChartData.Rows.Add("Top 32 mn (0.7%)", 98.7);
            ChartData.Rows.Add("Next 361 mn (7.7%)", 101.8);
            ChartData.Rows.Add("Next 1.1 bn (22.9%)", 33);
            ChartData.Rows.Add("Last 3.2 bn (68.7%)", 7.3);
            StaticSource source = new StaticSource(ChartData);
            DataModel model = new DataModel();
            model.DataSources.Add(source);
            Widget.PyramidChart pyramid = new Widget.PyramidChart("first_pyramid_chart");
            pyramid.Data.Source = model;
            pyramid.Caption.Text = "Global Wealth Pyramid";
            pyramid.Caption.OnTop = false;
            pyramid.SubCaption.Text = "Credit Suisse 2013";
            pyramid.Width.Pixel(400);
            pyramid.Height.Pixel(400);
			pyramid.ThemeName = FusionChartsTheme.ThemeName.FUSION;
			ViewData["Chart"] = pyramid.Render();
			return View();
		}
	}
}
;