Click here to Skip to main content
15,881,882 members
Home / Discussions / C#
   

C#

 
GeneralRe: C# or ASP.NET swtich(expr) expression can action on byte, long, String?(Engilsh is not my native language) Pin
20212a25-Jan-21 1:13
20212a25-Jan-21 1:13 
QuestionSystem.Windows.Forms.DataVisualization.Charting Pin
Member 1483694318-Jan-21 1:40
Member 1483694318-Jan-21 1:40 
AnswerRe: System.Windows.Forms.DataVisualization.Charting Pin
Gerry Schmitz18-Jan-21 2:35
mveGerry Schmitz18-Jan-21 2:35 
GeneralRe: System.Windows.Forms.DataVisualization.Charting Pin
Member 1483694318-Jan-21 5:09
Member 1483694318-Jan-21 5:09 
GeneralRe: System.Windows.Forms.DataVisualization.Charting Pin
Gerry Schmitz18-Jan-21 5:33
mveGerry Schmitz18-Jan-21 5:33 
GeneralRe: System.Windows.Forms.DataVisualization.Charting Pin
Member 1483694318-Jan-21 6:27
Member 1483694318-Jan-21 6:27 
GeneralRe: System.Windows.Forms.DataVisualization.Charting Pin
Gerry Schmitz18-Jan-21 15:57
mveGerry Schmitz18-Jan-21 15:57 
GeneralRe: System.Windows.Forms.DataVisualization.Charting Pin
Member 1483694318-Jan-21 18:15
Member 1483694318-Jan-21 18:15 
Thanks a lot for your reply. I created sample application with same code here for your reference.
This method is called when form is loaded.

C#
private void Format_Chart()
{

    ChartArea _Area = new ChartArea("Utilization");
    _Area.AlignmentOrientation = AreaAlignmentOrientations.Vertical;
    _Area.AlignmentStyle = AreaAlignmentStyles.All;
    chart_Utilization.ChartAreas.Add(_Area);
    chart_Utilization.ChartAreas["Utilization"].Position = new ElementPosition(0, 10, 100, 90);

    chart_Utilization.Series.Clear();

    Series _Series_Current_Utilization = new Series("Current Utilization");
    _Series_Current_Utilization.ChartArea = _Area.Name;
    _Series_Current_Utilization.XValueType = ChartValueType.Date;
    _Series_Current_Utilization.YValueType = ChartValueType.Double;
    _Series_Current_Utilization.YValuesPerPoint = 1;
    _Series_Current_Utilization.ChartType = SeriesChartType.StackedColumn;
    _Series_Current_Utilization.Color = Color.FromArgb(200, 20, 191, 154);

    Series _Series_Over_Utilization = new Series("Over Utilization");
    _Series_Over_Utilization.ChartArea = _Area.Name;
    _Series_Over_Utilization.XValueType = ChartValueType.Date;
    _Series_Over_Utilization.YValueType = ChartValueType.Double;
    _Series_Over_Utilization.YValuesPerPoint = 1;
    _Series_Over_Utilization.ChartType = SeriesChartType.StackedColumn;
    _Series_Over_Utilization.Color = Color.Red;//Color.FromArgb(80, 255, 0, 0);

    Series _Series_Target_Utilization = new Series("Target Utilization");
    _Series_Target_Utilization.ChartArea = _Area.Name;
    _Series_Target_Utilization.XValueType = ChartValueType.Date;
    _Series_Target_Utilization.YValueType = ChartValueType.Double;
    _Series_Target_Utilization.YValuesPerPoint = 1;
    _Series_Target_Utilization.ChartType = SeriesChartType.Line;
    _Series_Target_Utilization.Color = Color.FromArgb(200, 20, 191, 154);

    chart_Utilization.Series.Add(_Series_Current_Utilization);
    chart_Utilization.Series.Add(_Series_Over_Utilization);
    chart_Utilization.Series.Add(_Series_Target_Utilization);

    chart_Utilization.Legends[_Series_Current_Utilization.Legend].Docking = Docking.Top;
    chart_Utilization.Legends[_Series_Current_Utilization.Legend].Alignment = StringAlignment.Center;

    chart_Utilization.Legends[_Series_Target_Utilization.Legend].Docking = Docking.Top;
    chart_Utilization.Legends[_Series_Target_Utilization.Legend].Alignment = StringAlignment.Center;

    chart_Utilization.Legends[_Series_Over_Utilization.Legend].Docking = Docking.Top;
    chart_Utilization.Legends[_Series_Over_Utilization.Legend].Alignment = StringAlignment.Center;

    chart_Utilization.ChartAreas[0].AxisX.LabelStyle.Format = "yyyy-MM-dd";
    chart_Utilization.ChartAreas[0].AxisX.Interval = 1;
    chart_Utilization.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Days;
    chart_Utilization.ChartAreas[0].AxisX.IntervalOffset = 1;

    chart_Utilization.ChartAreas[0].AxisY.Maximum = (double)(120);
    chart_Utilization.ChartAreas[0].AxisY.Minimum = (double)(0);
}


There are two button click events to change the value type of XAxis.

1. To change to ChartValueType.Date

C#
private void btnDates_Click(object sender, EventArgs e)
        {
            List<double> _Values = new List<double>();
            int _Count = 1;

            for(int i = 0; i < 10; i++)
            {
                _Values.Add(i * 2.5d);
            }
            chart_Utilization.Series["Current Utilization"].Points.Clear();
            chart_Utilization.Series["Over Utilization"].Points.Clear();
            chart_Utilization.Series["Target Utilization"].Points.Clear();

            chart_Utilization.Series["Current Utilization"].XValueType = ChartValueType.Date;
            chart_Utilization.Series["Over Utilization"].XValueType = ChartValueType.Date;
            chart_Utilization.Series["Target Utilization"].XValueType = ChartValueType.Date;

            chart_Utilization.ChartAreas[0].AxisX.Interval = 1;
            chart_Utilization.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Days;
            chart_Utilization.ChartAreas[0].AxisX.IntervalOffset = 1;

            foreach(double _dval in _Values)
            {
                var _point_current = new DataPoint(chart_Utilization.Series["Current Utilization"]);
                var _point_target = new DataPoint(chart_Utilization.Series["Target Utilization"]);
                var _point_over = new DataPoint(chart_Utilization.Series["Over Utilization"]);

                _point_current.SetValueXY(new DateTime(DateTime.Now.Year, DateTime.Now.Month, _Count), _dval);
                _point_target.SetValueXY(new DateTime(DateTime.Now.Year, DateTime.Now.Month, _Count), _dval);
                _point_over.SetValueXY(new DateTime(DateTime.Now.Year, DateTime.Now.Month, _Count), _dval);

                chart_Utilization.Series["Current Utilization"].Points.Add(_point_current);
                chart_Utilization.Series["Target Utilization"].Points.Add(_point_target);
                chart_Utilization.Series["Over Utilization"].Points.Add(_point_over);

                _Count++;
            }
        }




2. To change to ChartValue type to Int

C#
private void btnInt_Click(object sender, EventArgs e)
        {
            List<double> _Values = new List<double>();
            int _Count = 1;

            for (int i = 0; i < 10; i++)
            {
                _Values.Add(i * 5d);
            }

            chart_Utilization.Series[0].Points.Clear();
            chart_Utilization.Series[1].Points.Clear();
            chart_Utilization.Series[2].Points.Clear();

            chart_Utilization.Series[0].XValueType = ChartValueType.Int32;
            chart_Utilization.Series[1].XValueType = ChartValueType.Int32;
            chart_Utilization.Series[2].XValueType = ChartValueType.Int32;

            chart_Utilization.ChartAreas[0].AxisX.Interval = 1;
            chart_Utilization.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.NotSet;
            chart_Utilization.ChartAreas[0].AxisX.IntervalOffsetType = DateTimeIntervalType.NotSet;

            chart_Utilization.ChartAreas[0].AxisX.LabelStyle.Format = "{0:0}";
            chart_Utilization.ChartAreas[0].AxisX.Minimum = 1;
            chart_Utilization.ChartAreas[0].AxisX.Maximum = 53;

            chart_Utilization.Update();

            foreach (double _dval in _Values)
            {
                var _point_current = new DataPoint(chart_Utilization.Series["Current Utilization"]);
                var _point_target = new DataPoint(chart_Utilization.Series["Target Utilization"]);
                var _point_over = new DataPoint(chart_Utilization.Series["Over Utilization"]);

                _point_current.SetValueXY(_Count, _dval);
                _point_target.SetValueXY(_Count, _dval);
                _point_over.SetValueXY(_Count, _dval);

                chart_Utilization.Series["Current Utilization"].Points.AddXY(_Count, _dval);
                chart_Utilization.Series["Target Utilization"].Points.AddXY(_Count, _dval);
                chart_Utilization.Series["Over Utilization"].Points.AddXY(_Count, _dval);

                _Count++;
            }
        }



When i switch from Date to Int, the XAxis labelling still apears as DateTime value type. This is my issue.
Please let me know in which way i can solve this issue.
GeneralRe: System.Windows.Forms.DataVisualization.Charting Pin
Member 1483694318-Jan-21 19:32
Member 1483694318-Jan-21 19:32 
GeneralRe: System.Windows.Forms.DataVisualization.Charting Pin
Gerry Schmitz19-Jan-21 4:31
mveGerry Schmitz19-Jan-21 4:31 
QuestionHow to use Excel's pivot table and pivot chart functionality in C#? Pin
Alex Dunlop16-Jan-21 18:44
Alex Dunlop16-Jan-21 18:44 
AnswerRe: How to use Excel's pivot table and pivot chart functionality in C#? Pin
Richard MacCutchan16-Jan-21 22:37
mveRichard MacCutchan16-Jan-21 22:37 
Questionchange data by using a removable disk Pin
Member 1504609314-Jan-21 6:40
Member 1504609314-Jan-21 6:40 
AnswerRe: change data by using a removable disk Pin
OriginalGriff14-Jan-21 7:47
mveOriginalGriff14-Jan-21 7:47 
GeneralRe: change data by using a removable disk Pin
Member 1504609314-Jan-21 9:11
Member 1504609314-Jan-21 9:11 
GeneralRe: change data by using a removable disk Pin
OriginalGriff14-Jan-21 9:21
mveOriginalGriff14-Jan-21 9:21 
GeneralRe: change data by using a removable disk Pin
Member 1504609314-Jan-21 9:36
Member 1504609314-Jan-21 9:36 
GeneralRe: change data by using a removable disk Pin
OriginalGriff14-Jan-21 9:41
mveOriginalGriff14-Jan-21 9:41 
GeneralRe: change data by using a removable disk Pin
Member 1504609314-Jan-21 9:48
Member 1504609314-Jan-21 9:48 
GeneralRe: change data by using a removable disk Pin
OriginalGriff14-Jan-21 11:10
mveOriginalGriff14-Jan-21 11:10 
GeneralRe: change data by using a removable disk Pin
Member 1504609315-Jan-21 1:26
Member 1504609315-Jan-21 1:26 
GeneralRe: change data by using a removable disk Pin
CHill6015-Jan-21 1:32
mveCHill6015-Jan-21 1:32 
GeneralRe: change data by using a removable disk Pin
OriginalGriff15-Jan-21 1:38
mveOriginalGriff15-Jan-21 1:38 
GeneralRe: change data by using a removable disk Pin
Mycroft Holmes14-Jan-21 11:04
professionalMycroft Holmes14-Jan-21 11:04 
GeneralRe: change data by using a removable disk Pin
Member 1504609315-Jan-21 5:45
Member 1504609315-Jan-21 5:45 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.