Winnovative control offers the possibility to set 4 titles of the chart (top, bottom, left and right). For each title, you can specify the text, font, color and alignment.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
WebChart1.DataSource = Winnovative.DataSources.GetTestData();
// top title
WebChart1.Titles.Top.Visible = true;
WebChart1.Titles.Top.Text = "Chart title";
WebChart1.Titles.Top.Color = Color.Blue;
WebChart1.Titles.Top.Font = new Font("Verdana", 12, FontStyle.Bold);
// bottom title
WebChart1.Titles.Bottom.Visible = true;
WebChart1.Titles.Bottom.Text = "NOTE: This is the bottom title - red, smaller, italic, right aligned";
WebChart1.Titles.Bottom.Color = Color.Red;
WebChart1.Titles.Bottom.Font = new Font("Verdana", 8, FontStyle.Italic);
WebChart1.Titles.Bottom.Align = Winnovative.Align.Right;
// left title
WebChart1.Titles.Left.Visible = true;
WebChart1.Titles.Left.Text = "Left title can be used as Y axis label";
WebChart1.Titles.Left.Color = Color.Green;
WebChart1.Titles.Left.Font = new Font("Verdana", 10);
}
}
/// <summary>
/// This method returns a sample DataTable with test data
/// The tables has the following structure:
/// - Labels (string)
/// - Date (DateTime)
/// - Seller1 (number)
/// - Seller2 (number)
/// - Seller3 (number)
/// </summary>
public static DataTable GetTestData()
{
DataTable dt = new DataTable();
dt.Columns.Add("Labels", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
dt.Columns.Add("Seller1", typeof(int));
dt.Columns.Add("Seller2", typeof(int));
dt.Columns.Add("Seller3", typeof(int));
DataRow row = dt.NewRow();
row["Date"] = new DateTime(2006, 1, 1);
row["Labels"] = "January";
row["Seller1"] = 100;
row["Seller2"] = 100;
row["Seller3"] = 200;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 2, 1);
row["Labels"] = "February";
row["Seller1"] = 200;
row["Seller2"] = 110;
row["Seller3"] = 170;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 3, 1);
row["Labels"] = "March";
row["Seller1"] = 300;
row["Seller2"] = 140;
row["Seller3"] = 290;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 4, 1);
row["Labels"] = "April";
row["Seller1"] = 100;
row["Seller2"] = 60;
row["Seller3"] = 100;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 5, 1);
row["Labels"] = "May";
row["Seller1"] = 300;
row["Seller2"] = 160;
row["Seller3"] = 120;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 6, 1);
row["Labels"] = "June";
row["Seller1"] = 200;
row["Seller2"] = 120;
row["Seller3"] = 190;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 7, 1);
row["Labels"] = "June";
row["Seller1"] = 200;
row["Seller2"] = 160;
row["Seller3"] = 220;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 8, 1);
row["Labels"] = "August";
row["Seller1"] = 220;
row["Seller2"] = 80;
row["Seller3"] = 120;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 9, 1);
row["Labels"] = "September";
row["Seller1"] = 270;
row["Seller2"] = 200;
row["Seller3"] = 100;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 10, 1);
row["Labels"] = "October";
row["Seller1"] = 300;
row["Seller2"] = 230;
row["Seller3"] = 190;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 11, 1);
row["Labels"] = "November";
row["Seller1"] = 260;
row["Seller2"] = 100;
row["Seller3"] = 200;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 12, 1);
row["Labels"] = "December";
row["Seller1"] = 320;
row["Seller2"] = 190;
row["Seller3"] = 270;
dt.Rows.Add(row);
return dt;
}