ASP.NET Chart control set month names from int value on X Axis labels

大憨熊 提交于 2019-12-06 03:24:00
DasKrümelmonster

I think you have to use custom labels. I used this and this.

The code behind:

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebTest_1
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Chart1.Series[0].Points.AddXY(1, 83);
            Chart1.Series[0].Points.AddXY(2, 63);
            Chart1.Series[0].Points.AddXY(3, 53);
            Chart1.Series[0].Points.AddXY(4, 77);
            Chart1.Series[0].Points.AddXY(5, 46);
            Chart1.Series[0].Points.AddXY(6, 99);
            Chart1.Series[0].Points.AddXY(7, 72);
            Chart1.Series[0].Points.AddXY(8, 39);
            Chart1.Series[0].Points.AddXY(9, 42);
            Chart1.Series[0].Points.AddXY(10, 71);
            Chart1.Series[0].Points.AddXY(11, 58);
            Chart1.Series[0].Points.AddXY(12, 63);

            Chart1.Series[1].Points.AddXY(1 , 46);
            Chart1.Series[1].Points.AddXY(2 , 72);
            Chart1.Series[1].Points.AddXY(3 , 53);
            Chart1.Series[1].Points.AddXY(4 , 39);
            Chart1.Series[1].Points.AddXY(5 , 63);
            Chart1.Series[1].Points.AddXY(6 , 71);
            Chart1.Series[1].Points.AddXY(7 , 75);
            Chart1.Series[1].Points.AddXY(8 , 99);
            Chart1.Series[1].Points.AddXY(9 , 83);
            Chart1.Series[1].Points.AddXY(10, 63);
            Chart1.Series[1].Points.AddXY(11, 58);
            Chart1.Series[1].Points.AddXY(12, 42);
        }

        protected void Chart1_Customize(object sender, EventArgs e)
        {
            foreach (var lbl in Chart1.ChartAreas[0].AxisX.CustomLabels)
            {
                int monthNumber = int.Parse(lbl.Text);
                if (monthNumber >= 1 && monthNumber <= 12)
                    lbl.Text = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(monthNumber);
                else
                    lbl.Text = "";
            }
        }
    }
}

Output:

You need to assign the Customize event.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!