C#图表对齐轴标签 [英] C# Chart alignment axis label

查看:350
本文介绍了C#图表对齐轴标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在列图表中有一些自定义标签(我的代码中有一些):

I have some custom labels in column chart (a bit of my code):

        chart.ChartAreas[0].AxisX.IsMarginVisible = true;
        chart.ChartAreas[0].AxisX.LabelStyle.IsEndLabelVisible = true;
        chart.ChartAreas[0].AxisX.LineColor = Color.LightGray;
        chart.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.LightGray;
        chart.ChartAreas[0].AxisX.LabelStyle.Angle = 0;
        chart.ChartAreas[0].AxisX.LabelStyle.Font = new Font("Trebuchet MS", 10);
        chart.ChartAreas[0].AxisX.MajorTickMark.LineColor = Color.LightGray;

        chart.ChartAreas[0].AxisX.Interval = 1;
        chart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Weeks;
        chart.ChartAreas[0].AxisX.IsLabelAutoFit = true;
        chart.ChartAreas[0].AxisX.LabelStyle.IsEndLabelVisible = false;


        DateTime minDate = DateTime.Parse(dt.Rows[0]["Date"].ToString());
        DateTime maxDate = DateTime.Parse(dt.Rows[dt.Rows.Count - 1]["Date"].ToString());

        for (int i = 0; i < dt.Rows.Count - 1; i++)
        {
            chart.ChartAreas[0].AxisX.CustomLabels.Add(new CustomLabel(minDate.ToOADate(),
                                                                       minDate.AddDays(6).ToOADate(),
                                                                       minDate.ToShortDateString() + "-" + minDate.AddDays(6).ToShortDateString(),
                                                                       0,
                                                                       LabelMarkStyle.None));
            minDate = minDate.AddDays(7);
        }

因为我的自定义文本太长了 minDate .ToShortDateString()+ - + minDate.AddDays(6).ToShortDateString()它看起来像

So since my custom lable text is so long minDate.ToShortDateString() + "-" + minDate.AddDays(6).ToShortDateString() it looks like

如何移动到左轴lables如果i可以?

How can i moved to the left axis lables if i can?

推荐答案

除了缩短内容以避免任何冗余外,您可以尝试通过添加一些空格来欺骗标签格式化,然后是不间断空格,然后是\\\

Besides shortening the content to avoid any redundancy you could try to trick the label formatter by adding a few blanks to the right, then a non-breaking space and then a \n.

以下是之前和之后的结果:

Here is the result before and after:

我使用了以下代码:

  A.AxisX.LabelStyle.Format = "MM.dd.yy";
  A.AxisX.LabelStyle.Format = "MM.dd.yy        " + ((char)160) + "\n";

这篇关于C#图表对齐轴标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆