日期:2014-05-20  浏览次数:21724 次

MsChart固定X轴刻度数
Hi,请教大家一个问题.

我用了MsChart里的柱状图,数据是动态绑定的,而且是实时刷新,即有时绑定的数据点只有三个,有时又是四个,不固定的.

因为我把图表大小固定了,这样就造成了显示的柱形有时多有时少,而Mschart又自动的根据图表大小调整柱子的大小.有没有办

把X轴固定为十个刻度??
------解决方案--------------------
chart1.ChartAreas["ChartArea1"].AxisX.Maximum = 010;
------解决方案--------------------
 /// <summary>
    /// 画图
    /// </summary>
    /// <param name="dt">数据表</param>
    /// <param name="ar">要显示的指标</param>
    /// <param name="title">标题</param>
    /// <param name="filename">文件名</param>
    public void DrawChart(DataTable dt, List<string> ar, string title, int widths, Boolean isShowInLabel, Boolean isShow3D, Control control, Boolean isLabelStyle, Boolean isClustered, string color, string filter,string ReqPage)
    {
        for (int j = 0; j < dt.Columns.Count; j++)
        {
            for (int k = 0; k < dt.Rows.Count; k++)
            {
                //判断不是DBNUll
                //判断被除的列不为空
                if (dt.Rows[k][dt.Columns[j].ColumnName] == DBNull.Value)
                {
                    dt.Rows[k][dt.Columns[j].ColumnName] = 0;
                }
            }
        }
        //Series.Point[i].ToolTip="#VALY"----(鼠标移上Point[i]时,显示Y值,移开时消失)
        //声明一个chart图形
        System.Web.UI.DataVisualization.Charting.Chart Chart1 = new System.Web.UI.DataVisualization.Charting.Chart();
        //设置chart的宽度
        Chart1.Width = widths;
        //设置chart的高度
        Chart1.Height = 280;
        Chart1.BackColor = Color.White;
        //图片的呈现方式
        Chart1.RenderType = RenderType.ImageTag;
        //设置控件的颜色
        //Chart1.Palette = ChartColorPalette.SemiTransparent;
        //设置标题
        // Title t = new Title(title, Docking.Top, new System.Drawing.Font("宋体", 11, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105));//图片标题
        //将标题加入到chart里面
        //Chart1.Titles.Add(t);
        //声明作图区
        Chart1.ChartAreas.Add("Areas");
        //使轴标签自动拟合
        Chart1.ChartAreas["Areas"].AxisX.IsLabelAutoFit = true;
        Chart1.ChartAreas["Areas"].BackColor = Color.White;
        Chart1.ChartAreas["Areas"].Area3DStyle.WallWidth = 0;
        //配置x轴的标签是否斜着显示,为了节约位置
        if(isClustered==true)
        {
            Chart1.ChartAreas["Areas"].AxisX.Interval = 1;
            Chart1.ChartAreas["Areas"].AxisX.IntervalOffset = 1;
            Chart1.ChartAreas["Areas"].Area3DStyle.IsClustered = isClustered;
            Chart1.ChartAreas["Areas"].AxisX.LabelStyle.Angle = -60;
        }
        //Chart1.ChartAreas["Areas"].Area3DStyle.PointGapDepth = 20;
        //Chart1.ChartAreas["Areas"].Area3DStyle.Inclination = 0;
        //Chart1.ChartAreas["Areas"].Area3DStyle.Rotation = 20;
        //Chart1.ChartAreas["Areas"].Area3DStyle.IsClustered = true;