C# chart控件绘制多图表区图像

 

 

#C 画图控件chart –坐标轴刻度问题,用到柱形图,当数据列比较多的时候,X轴的刻度标签会被精简为几个,无法在每

个柱子下方显示其刻度值。这时候可以用自定义标签解决问题。效果如图: 

C# chart控件绘制多图表区图像_第1张图片

 

本例子,标签设置为时间字符串,要显示每个时间区间的统计图。 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;//用于定义Series

namespace display_chart
{
    public partial class display_chart : Form
    {
        public display_chart()
        {
            InitializeComponent();
        }

        private void display_chart_Load(object sender, EventArgs e)
        {
            Series s1 = new Series();
            Series s2 = new Series();
            Random r = new Random();
            for (int i = 1; i < 13; i++) 
            {   s1.Points.AddXY(i, r.Next(20, 30)); 
                s2.Points.AddXY(i, r.Next(10, 30));
            }
           curve_chart.Series.Add(s1);             
           curve_chart.Series.Add(s2);              
           curve_chart.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.Green;             
           DateTime t = DateTime.Parse("8:30");              
           for (int i = 1; i < 26; i++)// 这里i从1开始,如果是0,标签不显示,不明白为什么             
           {              if (i%2==1)//奇数刻度位置放标签,这样吧柱形图包在刻度之间             
           {                  CustomLabel label = new CustomLabel();
               label.Text = t.ToShortTimeString();                              
               label.ToPosition =i;                  
               curve_chart.ChartAreas[0].AxisX.CustomLabels.Add(label);                    
               label.GridTicks = GridTickTypes.Gridline;                
               t = t.AddHours(1);              
           } 
           }


        }


        private void curve_chart_Click(object sender, EventArgs e)
        {

        }

        private void curve_chart_Paint(object sender, PaintEventArgs e)
        {
                

        }
    }
}

 

你可能感兴趣的:(C#)