不规则间隔的轴刻度标签 - wpf工具包图表

时间:2013-10-08 05:47:05

标签: wpf wpftoolkit linechart

enter image description here

我正在使用wpf工具包图表控件。使用Area系列绘制图表。 我想在x轴上只显示自定义间隔标签。它们不适合任何系列或间隔。请看图像。如图所示,我只想在x轴上显示1,9,13,20,26,35个刻度。

如果能够实现这一目标,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

最后通过点击和试用,我找到了解决方案。我重写了LinearAxis类的Get Label Values方法,并向其传递了一个有效刻度标记列表。请参阅下面的代码。

public class EquiDistanceAxis : LinearAxis
{
    List<int> validValues;


    public List<int> ValidValues
    {
        get { return validValues; }
    }


    public EquiDistanceAxis()
        : base()
    {
        throw new Exception("Not Implemented.");
    }

    public EquiDistanceAxis(List<int> input)
        : base()
    {
        validValues = input;
    }


    protected override IEnumerable<IComparable> GetLabelValues(Size availableSize)
    {
        IEnumerable<IComparable> tickMarkEnumerator = base.GetLabelValues(availableSize);
        var enumerator = tickMarkEnumerator.GetEnumerator();
        while (enumerator.MoveNext())
        {
            int day = Convert.ToInt32(enumerator.Current);
            if (validValues.Any(v => v == day))
                yield return day;
        }

    }


}