Column 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("Programming Language", typeof(System.String));
			ChartData.Columns.Add("Users", typeof(System.Double));
			ChartData.Rows.Add("Java",62000);
			ChartData.Rows.Add("Python",46000);
			ChartData.Rows.Add("Javascript",38000);
			ChartData.Rows.Add("C++",31000);
			ChartData.Rows.Add("C#",27000);
			ChartData.Rows.Add("PHP",14000);
			ChartData.Rows.Add("Perl",14000);

			// Create static source with this data table
            StaticSource source = new StaticSource(ChartData);
            // Create instance of DataModel class
            DataModel model = new DataModel();
            // Add DataSource to the DataModel
            model.DataSources.Add(source);
            // Instantiate Column Chart
            Charts.ColumnChart column = new Charts.ColumnChart("first_chart");
            // Set Chart's width and height
            column.Width.Pixel(700);
            column.Height.Pixel(400);
            // Set DataModel instance as the data source of the chart
            column.Data.Source = model;
            // Set Chart Title
            column.Caption.Text = "Most popular programming language";
			// Sset chart sub title
			column.SubCaption.Text = "2017-2018";
            // hide chart Legend
            column.Legend.Show = false;
            // set XAxis Text
            column.XAxis.Text = "Programming Language";
            // Set YAxis title
            column.YAxis.Text = "User";
            column.ThemeName = FusionChartsTheme.ThemeName.FUSION;
            
            ViewData["Chart"] = column.Render();
            return View();
		}

		
	}
}
;